Part Number Hot Search : 
CT501 CDRH4 RE5VT54A SN67010 APT50M E0052 MDIN04G SRC1212M
Product Description
Full Text Search
 

To Download TMC2072 Datasheet File

  If you can't view the Datasheet, Please click here to try to view without PDF Reader .  
 
 


  Datasheet File OCR Text:
  smsc TMC2072 page 1 revision 0.1 (06-07-07) datasheet TMC2072 peripheral mode circlink ? controller datasheet product features ? low power cmos, 3.3 volt power supply with 5 volt tolerant i/o ? supports 8/16-bit data bus ? both 86xx and 68hxx platforms ? 1k on-chip dual port buffer memory ? sequential i/o mapped access ? enhanced token passing protocol from arcnet ? maximum 31 nodes per network ? token retry mechanism ? maximum 256 bytes per packet ? consecutive node id assignment ? memory mirror ? shared memory within network ? network standard time ? network time synchronization ? automatic time stamping ? coded mark inversion ? intelligent 1-bit error correction ? magnetic saturation prevention ? single operation mode ? supports only peripheral (host) mode operates with mcu ? supports 8 bit programmable general purpose i/o ? dual communication modes (with peripheral mode) ? free format mode ? remote buffer mode ? 3 port hub integrated ? 1 internal and 2 external ? flexible topologies ? bus, star, and tree ? low-cost media can be used ? rs485 differential driver ? fiber optics and twisted pair cable supported ? 100-pin, tqfp lead-free rohs compliant package ? temperature range from 0 to 70 degrees c
peripheral mode circlink? controller datasheet revision 0.1 (06-07-07) page 2 smsc TMC2072 datasheet ordering information order number: TMC2072-mt for 100 pin, tqfp lead-free rohs compliant package 80 arkay drive, hauppauge, ny 11788 (631) 435-6000, fax (631) 273-3123 copyright ? 2007 smsc or its subs idiaries. all rights reserved. circuit diagrams and other information rela ting to smsc products are included as a m eans of illustrating typical applications. consequently, complete information sufficient for construction pur poses is not necessarily given. although the informat ion has been checked and is bel ieved to be accurate, no responsibility is assumed for ina ccuracies. smsc reserves the ri ght to make changes to specif ications and product descriptions at any time without notice. contact your local smsc sales office to obtain the late st specifications bef ore placing your product order. the provisi on of this information does not convey to the purchas er of the described semiconducto r devices any licenses under any patent rights or other intellect ual property rights of smsc or others. all sales are expressly conditional on your agr eement to the terms and conditions of the most re cently dated ve rsion of smsc's standard terms of sale agreement dated before the date of y our order (the "terms of sale ag reement"). the product may contain d esign defects or errors known as anomalies which may cause the product's f unctions to deviate from published s pecifications. a nomaly sheets are available upon request. smsc products are not des igned, intended, authorized or wa rranted for use in any life s upport or other application whe re product failure could cause or contri bute to personal injury or severe property damage. an y and all such uses without prior written approval of an officer of smsc and further testing and/or modification will be fully at the risk of the customer. copies of this document or other smsc litera ture, as well as the terms of sale agreement, may be obtained by visiting smsc?s website at http:// www.smsc.com. smsc is a registered tr ademark of standard microsystems corporation (?smsc?). product names and company names are the trademarks of their respective holders. smsc disclaims and excludes any and all warranties, including without limitation any and all implied warranties of merchantability, fitness for a particular purpose, ti tle, and against infringement and the like, and any and all warranties arising from any course of dealing or usag e of trade. in no event shall smsc be liable for any direct, incidental, indirect, special, p unitive, or consequential damages; or for lost data, profits, savings or revenues of any kind; regardless of the form of action, whether based on contract; tort; negligence of smsc or others; strict liability; breach of warranty; or othe rwise; whether or not any remedy of buyer is held to have failed of its essential purpose, and whether or no t smsc has been advised of the possibility of such damages.
peripheral mode circlink? controller datasheet smsc TMC2072 page 3 revision 0.1 (06-07-07) datasheet table of contents chapter 1 general d escription ............................................................................................................ .6 1.1 about ci rcli nk ................................................................................................................. .................... 6 1.2 about the tmc 2072 .............................................................................................................. .............. 7 1.3 pin confi guratio n.............................................................................................................. ................... 9 1.4 pin description by functions................................................................................................... .......... 14 1.4.1 cpu interf ace ( 27)............................................................................................................. .....................14 1.4.2 transceiver in terface (5)...................................................................................................... ...................14 1.4.3 setup pi n ( 33)................................................................................................................. ........................14 1.4.4 external output or input/out put ( 10) ........................................................................................... ............15 1.4.5 other input (5) ................................................................................................................ ........................15 1.4.6 clock (3 ) ...................................................................................................................... ...........................16 1.5 user set up pins ................................................................................................................ ................ 16 1.5.1 cpu type se lectio n ............................................................................................................. ..................16 1.5.2 address multiple x select ion.................................................................................................... ................17 1.5.3 write timing select ion......................................................................................................... ...................19 1.5.4 read timing se lectio n.......................................................................................................... ..................20 1.5.5 data bus widt h select ion ....................................................................................................... ................21 1.5.6 data bus by te sw ap ............................................................................................................. ..................21 1.5.7 data strobe polarity specific ation ............................................................................................. .............21 1.5.8 page size se lectio n............................................................................................................ ....................21 1.5.9 maxid number setup ............................................................................................................. ...............21 1.5.10 node id setup.................................................................................................................. ...................22 1.5.11 nst resoluti on setu p........................................................................................................... ..............22 1.5.12 standalone mode specificati on (not s upported) .................................................................................2 2 1.5.13 warning timer resolu tion....................................................................................................... ............22 1.5.14 diagnosis mode ................................................................................................................. .................22 1.5.15 prescaler setup for communicati on s peed ........................................................................................ 23 1.5.16 cpu interface bus timing sele ction ............................................................................................. ......23 1.5.17 cmi bypass spec ificat ion....................................................................................................... .............23 1.5.18 on/off of hub func tion ......................................................................................................... ..........23 1.5.19 optical transce iver mode ....................................................................................................... ............24 1.5.20 txen polari ty se lect........................................................................................................... ................24 1.5.21 extension time r setti ng 1 ...................................................................................................... .............24 1.5.22 test pins ...................................................................................................................... .......................24 chapter 2 functional description....................................................................................................... 25 2.1 communication s pecification.................................................................................................... ........ 25 2.2 message cl ass.................................................................................................................. ................ 25 2.3 circlink network communica tion protocol overvi ew ...................................................................... 26 2.4 circlink protoc ol enhanc ement.................................................................................................. ...... 27 2.4.1 reducing to ken los s ............................................................................................................ .................27 2.4.2 reduction of network re configurat ion ti me...................................................................................... .....27 2.4.3 reduction of reconfiguration burst signal s end time . ..........................................................................2 8 2.5 ram page ex pansio n ............................................................................................................. .......... 28 2.5.1 ram a ccess ..................................................................................................................... ......................29 2.5.2 packet buffer struct ure........................................................................................................ ...................31 2.5.3 packet data struct ure.......................................................................................................... ...................32 2.6 cpu inte rface.................................................................................................................. .................. 33 2.6.1 cpu identification and com patibility between intel and mo torola proc essors ........................................33 2.6.2 interface re strict ions ......................................................................................................... .....................34 2.7 operation and communication modes of ci rclink ........................................................................... 35 2.7.1 operati on m ode ................................................................................................................. .....................35 2.7.2 communicati on m ode............................................................................................................. ................36 2.8 sending in peri pheral mode..................................................................................................... ......... 38 2.8.1 example of sending control from cpu in free format m ode ................................................................ 38 2.8.2 tx control from cpu in remote bu ffer m ode ...................................................................................... ..39
peripheral mode circlink? controller datasheet revision 0.1 (06-07-07) page 4 smsc TMC2072 datasheet 2.9 receive in pe ripheral mode ..................................................................................................... ......... 39 2.9.1 temporary receive and direct re ceive ........................................................................................... ......41 2.9.2 example of receive flow in free fo rmat m ode .................................................................................... .43 2.9.3 example of receive flow in remote buffer mode.................................................................................. 44 2.9.4 warning timer (wt) at remote buffe r rece ive .................................................................................... .44 2.10 diagnostic mode ................................................................................................................ ............ 47 2.11 network standard time (nst).................................................................................................... ... 47 2.11.1 functions prov ided by nst...................................................................................................... ...........48 2.11.2 time-synchr onous s equence ...................................................................................................... .......49 2.11.3 phase e rror .................................................................................................................... .....................50 2.11.4 nnstcout pulse g eneration cycle ................................................................................................ ..53 2.12 cmi m odem...................................................................................................................... .............. 55 2.13 hub func tion................................................................................................................... .............. 56 2.13.1 operation example of hub f uncti on .............................................................................................. ....57 2.13.2 timer expansion in multi- stage cascade c onnection ........................................................................58 2.14 8bit general-purpose i/o po rt (new f unction) .............................................................................. 59 chapter 3 register descri ptions ......................................................................................................... 6 0 3.1 register map ................................................................................................................... .................. 60 3.2 register details ............................................................................................................... .................. 63 3.2.1 comr0 register: status/i nterrupt ma sk regi ster ................................................................................. .63 3.2.2 comr1 register: diagnosti c/command r egister ..................................................................................65 3.2.3 comr2 register: page regi ster.................................................................................................. ..........67 3.2.4 comr3 register: page-inte rnal addre ss regi ster................................................................................. 68 3.2.5 comr4 register: data r egist er.................................................................................................. ...........69 3.2.6 comr5 register: s ub-address r egist er ........................................................................................... .....69 3.2.7 comr6 register: conf iguration regist er ......................................................................................... .......70 3.2.8 comr7 r egist er ................................................................................................................. ...................71 3.2.9 nst register: netw ork standar d time ............................................................................................ ........75 3.2.10 intsta register: ec interrupt status........................................................................................... ......75 3.2.11 intmsk register: ec interrupt mask ............................................................................................. ....78 3.2.12 eccmd register: ec command regi ster ..........................................................................................78 3.2.13 rsid register: receive sid ..................................................................................................... ..........79 3.2.14 ssid regist er: sid ............................................................................................................. ................80 3.2.15 rxfh register: receiv e flag (hi gher si de) ...................................................................................... ..80 3.2.16 rxfl register: receiv e flag (low er si de) ....................................................................................... ...81 3.2.17 cmid register: clo ck master node id ............................................................................................ .....82 3.2.18 mode register: operati on mode setup regist er...............................................................................83 3.2.19 carry register: carry select ion for exter nal out put ........................................................................ 85 3.2.20 rxmh register: receiv e mode (hi gher si de)...................................................................................... 86 3.2.21 rxml register: receiv e mode (low er si de)....................................................................................... .87 3.2.22 maxid register: sele ction of max. id ........................................................................................... .....88 3.2.23 nid register: select ion of t he node id ......................................................................................... ......88 3.2.24 ps register: page si ze sele ction ............................................................................................... ........88 3.2.25 ckp register: communicati on rate sele ction ...................................................................................89 3.2.26 nstdif register: ns t phase di fference .......................................................................................... .89 3.2.27 pininfo register: pi n setup in formati on ........................................................................................ ...90 3.2.28 errinfo register: error info rmation............................................................................................ .....90 appendix a. cmi modem .................................................................................................................... 93 appendix b. crystal oscillation circuit ........................................................................................... 100 appendix c. package outline ............................................................................................................ 101 appendix d. marking specifications................................................................................................. 102 appendix e. electrical characteristics ............................................................................................. 103
peripheral mode circlink? controller datasheet smsc TMC2072 page 5 revision 0.1 (06-07-07) datasheet list of figures figure 1 - TMC2072 internal block diagr am............................................................................................... ............8 figure 2 - TMC2072 pin c onfigurat ion .................................................................................................... ...............9 figure 3 - motorola cp u mode ( 68hxx) .................................................................................................... ....17 figure 4 - intel cpu mo de ( 86xx) ........................................................................................................ ...........17 figure 5 - non-multip lex bu s ............................................................................................................ ....................18 figure 6 - multiplex (ale falling- edge ty pe) ............................................................................................ .............18 figure 7 - multiplex (ale rising- edge ty pe)............................................................................................. .............18 figure 8 - packet structure of free format mode (example of 32 byte s/page) ....................................................36 figure 9 - packet structure of remote buffe r mode (example of 32 byte s/page) .................................................37 figure 10 - cmi coding state transition diagr am.......................................................................................... ..........93 figure 11 - cmi modem bl ock di agram ...................................................................................................... ............94 figure 12 - example of unstabl e comparat or out put ........................................................................................ ......98 figure 13 - TMC2072 pack age out line ...................................................................................................... ...........101 figure 14 - timing measur ement po ints .................................................................................................... ...........105 list of tables table 1 - pin descr ipti on .............................................................................................................. ...........................10 table 2 - number of nodes and ram p age si ze............................................................................................ ........28 table 3 - cpu type ..................................................................................................................... ...........................33 table 4 - distinction and matchi ng of the cpu ty pe ..................................................................................... ...........33 table 5 - page format of packet bu ffer................................................................................................. .................42 table 6 - circlink regi ster map........................................................................................................ ......................60 table 7 - TMC2072 package parame ters ................................................................................................... ..........101
peripheral mode circlink? controller datasheet revision 0.1 (06-07-07) page 6 smsc TMC2072 datasheet chapter 1 general description 1.1 about circlink the circlink networking controller was developed fo r small control-orient ed local network data communication based on arcnet?s token-passing pr otocol that guarantees message integrity and calculatable maximum delivery times. in a circlink network, when a node receives the token it becomes the temporary ma ster of the network for a fixed, short period of time. no node can dominate the network since token c ontrol must be relinquished when transmission is complete. once a transmission is completed the token is passed on to the next node (logical neighbor), allowing it to be come the master. because of this token passing scheme, maximum wa iting time for network access can be calculated and the time performance of the network is predictable or deterministic. indus trial network applications require predictable performance to ensure that c ontrolled events occur when required. however, reconfiguration of a r egular arcnet network becomes nece ssary when the token is missed due to electronic and magnetic noise. in these cases, t he maximum wait time for sending datagrams cannot be guaranteed and the real-time characteristic is impaired. circlink make s several modification to the original arcnet protocol (such as maxi mum and consecutive node id assignment) to avoid token missing as much as possible and reduce the net work reconfiguration time. circlink implements other enhancement s to the arcnet protocol incl uding a smaller-sized network , shorter packet size, and remote buffer mode operati on that enable more efficient and reliable small, control-oriented lans. in addition, circlink introduces several unique feat ures for reducing overall system cost while increasing system reliability. circlink can operate under a special mode called ?standalone? or ?i/o? m ode. in this mode, circlink does not need an administrating cpu for each node. only one cpu is needed to manage a circlink network composed of several nodes, reducing cost and complexity. in a circlink network, the data sent by the source node is received by all other nodes in the network and stored according to node source id. for the target node the received data is executed per arcnet flow control and the data is stor ed in its buffer ram. the receiving node processes the data while the remaining nodes on the network discard the data when the receiving node has completed. this memory-mirroring function assures higher reliability and signi ficantly reduces network traffic. network standard time (nst) is also a unique circlin k feature. nst is rea lized by synchronizing the individual local time on each network node to the cl ock master in the desi gnated node from which the packet is sent. circlink also uses cmi code for trans mitting signals, rather than the dipulse or bipolar signals that are the standar d arcnet signals. since cmi encoding e liminates the dc element, a simple combination of a standard rs485 ic and a pulse tr ansformer can be used to implement a transformer- coupled network.
peripheral mode circlink? controller datasheet smsc TMC2072 page 7 revision 0.1 (06-07-07) datasheet 1.2 about the TMC2072 the TMC2072 network controller is circlink technol ogy?s flagship product. the TMC2072?s flexibility and rich feature set enable a high-reliability and high-per formance, real-time and c ontrol-oriented network without the cumbersome middle laye r protocol stacks and complex packet prioritization schemes typically required. TMC2072 operates at network data transfer rates up to 5 mbps. its embedded 1k byte ram can be configured into a maximum of 32 pages to implem ent a 31-node network where each node in the network has the same local memory. TMC2072 supports ?peripheral mode? operation, which includes two selectable communication modes: ?free format mode? and ?remote buffer mode?. free fo rmat mode, retained from arcnet, is ?packet oriented? communication. remote buffer mode communi cation is a circlink-spec ific feature, and is a token oriented communication, which includes autom atic data transmission when the token arrives. the TMC2072 has a flexible 8-bit or 16-bit data bus to interface various cpu types including x86, 68xx, and shx with multiplexed or non-multiplexed addre ss/data. when operating in peripheral mode, the TMC2072 has 8-bit programmable i/o available. when operating in standalone mode, the TMC2072?s i/o configuration is16-bit. the TMC2072 al so integrates a 3-port hub (two por ts for external connection) to accommodate various network topologies (bus, star, etc.) and combinations.
peripheral mode circlink? controller datasheet revision 0.1 (06-07-07) page 8 smsc TMC2072 datasheet mode setting register access control circuit interrupt status interrupt mask ec command receive mode(#01-#31) receive flag(#01-#31) clock master sid net. standard time alarm setting receive sid search sid max id setting (maxid) node id setting (nid) page size setting (ps) data rate setting address pointer page register address register diag. register data register h data register l data latch tent-id register config register setup registers address multiplexer address pointer data latch shift register rx synchronous circuit tx signal generator cmi decode cmi encode cmi synchro txen txd rxin buffer memory 512b 512b improved arcnet protocol micro sequencer working registers memory access mediation circuit recon timer osc reset circuit micro-controller bus maxid nid ps ckp nmux nrwm w16 nswap nstalone ndiag flasho nnstcout txen2 rxin2 3port hub circuit err-info pin-info nhubon ncmibyp others clock figure 1 - TMC2072 internal block diagram
peripheral mode circlink? controller datasheet smsc TMC2072 page 9 revision 0.1 (06-07-07) datasheet 1.3 pin configuration *2 *3 *3 *1 *3 *2 *1 gpio7 gpio6 gpio5 gpio4 gpio3 gpio2 gpio1 gpio0 flasho nnstcout vss x2 x1 vdd mckin vss ckp2 ckp1 ckp0 maxid4 maxid3 maxid2 vdd maxid1 maxid0 75 74 73 72 71 70 69 68 67 66 65 64 63 62 61 60 59 58 57 56 55 54 53 52 51 wpre0 nid4 wpre1 nid3 *1 vdd nid2 ntest0 nid1 ntest1 nid0 ntest2 ps1 ntest3 ps0 (high) nstpre1 nehrd nstpre0 nehwr vdd *1 *1 vdd vss *2 ncmibyp ndiag nopmd rxin2 nhubon et1 *2 vss rxin nstpre2 txenpol nmux txen2 nrwm txd w16 txen nswap nintr ncs vss *2 a0 nreset *4 a1 vdd *1 a2 (ale) d15 *2 vss d14 12345678910111213141516171819202122232425 a3 (alepol) / po3 a4 vdd a5 ndsinv nrd (nds) ntmode nwr (dir) vdd d0 (ad0) d1 (ad1) d2 (ad2) d3 (ad3) vss vss d4 (ad4) d5 (ad5) d6 d7 d8 d9 d10 d11 d12 d13 *1 *1 *2 *2 *1 power supply (vdd) *2 power supply (vss) *3 clock signal *4 reset signal 100 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 26 30 29 28 27 figure 2 - TMC2072 pin configuration
peripheral mode circlink? controller datasheet revision 0.1 (06-07-07) page 10 smsc TMC2072 datasheet table 1 - pin description pin peripheral mode input buffer output buffer count pin no. pin name direction pull- up type drive type cpu interface 1 29 nreset in internal t-nrm --- --- 2 96 ncs in internal t-nrm --- --- 3 97 a0 in internal t-nrm --- --- 4 98 a1 in internal t-nrm --- --- 5 99 a2/ale in internal t-nrm --- --- 6 1 a3/alepol in internal t-nrm --- --- 7 2 a4 in internal t-nrm --- --- 8 4 a5 in internal t-nrm --- --- 9 6 nrd/nds in internal t-nrm --- --- 10 8 nwr/dir in internal t-nrm --- --- 11 10 d0/ad0 bi internal t-nrm 4ma 12 11 d1/ad1 bi internal t-nrm 4ma 13 12 d2/ad2 bi internal t-nrm 4ma 14 13 d3/ad3 bi internal t-nrm 4ma 15 16 d4/ad4 bi internal t-nrm 4ma 16 17 d5/ad5 bi internal t-nrm 4ma 17 18 d6 bi internal t-nrm 4ma 18 19 d7 bi internal t-nrm 4ma 19 20 d8 bi internal t-nrm 4ma 20 21 d9 bi internal t-nrm 4ma 21 22 d10 bi internal t-nrm 4ma 22 23 d11 bi internal t-nrm 4ma 23 24 d12 bi internal t-nrm 4ma 24 25 d13 bi internal t-nrm 4ma 25 26 d14 bi internal t-nrm 4ma 26 27 d15 bi internal t-nrm 4ma 27 31 nintr out --- --- 2ma total 27
peripheral mode circlink? controller datasheet smsc TMC2072 page 11 revision 0.1 (06-07-07) datasheet pin peripheral mode input buffer output buffer count pin no. pin name direction pull- up type drive type transceiver interface 1 36 rxin in internal t-nrm --- --- 2 32 txen out --- --- 4ma 3 33 txd out --- --- 4ma 4 38 rxin2 in internal t-nrm --- --- 5 34 txen2 out --- --- 4ma total 5 clock 1 63 x1 in --- --- --- --- 2 64 x2 out --- --- --- --- 3 61 mckin in internal t-nrm --- --- total 3 setting pins 1 92 nmux in internal t-nrm --- --- 2 93 nrwm in internal t-nrm --- --- 3 94 w16 in internal t-nrm --- --- 4 95 nswap in internal t-nrm --- --- 5 42 nstpre0 in internal t-nrm --- --- 6 43 nstpre1 in internal t-nrm --- --- 7 91 nstpre2 in internal t-nrm --- --- 8 44 ps0 in internal t-nrm --- --- 9 45 ps1 in internal t-nrm --- --- 10 46 nid0 in internal t-nrm --- --- 11 47 nid1 in internal t-nrm --- --- 12 48 nid2 in internal t-nrm --- --- 13 49 nid3 in internal t-nrm --- --- 14 50 nid4 in internal t-nrm --- --- 15 51 maxid0 in internal t-nrm --- --- 16 52 maxid1 in internal t-nrm --- --- 17 54 maxid2 in internal t-nrm --- --- 18 55 maxid3 in internal t-nrm --- --- 19 56 maxid4 in internal t-nrm --- --- 20 57 ckp0 in internal t-nrm --- --- 21 58 ckp1 in internal t-nrm --- --- 22 59 ckp2 in internal t-nrm --- --- 23 39 ndiag in internal t-nrm --- ---
peripheral mode circlink? controller datasheet revision 0.1 (06-07-07) page 12 smsc TMC2072 datasheet pin peripheral mode input buffer output buffer count pin no. pin name direction pull- up type drive type 24 35 txenpol in internal t-nrm --- --- 25 76 wpre0 in internal t-nrm --- --- 26 77 wpre1 in internal t-nrm --- --- 27 83 un-use(high) in internal t-nrm --- --- 28 84 nehrd in internal t-nrm --- --- 29 85 nehwr in internal t-nrm --- --- 30 5 ndsinv in internal t-nrm --- --- 31 87 ncmibyp in internal t-nrm --- --- 32 89 nhubon in internal t-nrm --- --- 33 88 nopmd in internal t-nrm --- --- 34 37 et1 in internal t-nrm --- --- total 34 output pins 1 66 nnstcout out --- --- 4ma 2 67 flasho 3s.o --- --- 4ma 3 68 gpio0 3s.o internal t-nrm 4ma 4 69 gpio1 3s.o internal t-nrm 4ma 5 70 gpio2 3s.o internal t-nrm 4ma 6 71 gpio3 3s.o internal t-nrm 4ma 7 72 gpio4 3s.o internal t-nrm 4ma 8 73 gpio5 3s.o internal t-nrm 4ma 9 74 gpio6 3s.o internal t-nrm 4ma 10 75 gpio7 3s.o internal t-nrm 4ma total 10 test pins 1 79 ntest0 in nothing t-nrm --- --- 2 80 ntest1 in nothing t-nrm --- --- 3 81 ntest2 in nothing t-nrm --- --- 4 82 ntest3 in nothing t-nrm --- --- 5 7 ntmode in internal t-nrm --- --- total 5
peripheral mode circlink? controller datasheet smsc TMC2072 page 13 revision 0.1 (06-07-07) datasheet pin peripheral mode input buffer output buffer count pin no. pin name direction pull- up type drive type power pins 3, 9, --- --- --- --- 28, 41, --- --- --- --- 53, 62, --- --- --- --- 1-8 78, 86 vdd pwr --- --- --- --- 14, 15, --- --- --- --- 30, 40, --- --- --- --- 60, 65, --- --- --- --- 9-16 90, 100 vss pwr --- --- --- --- total 16 total pin = 100 (high) : connect to vdd (open) : not connected t-nrm ttl level input w/o schmitt 3s/o tri-state output or normal output 3s.o tri-state output
peripheral mode circlink? controller datasheet revision 0.1 (06-07-07) page 14 smsc TMC2072 datasheet 1.4 pin description by functions note: * a pin name starting with ? n ? indicates an active-low pin. 1.4.1 cpu interface (27) d[15:6]/ data bus (bit15-6) d[5:0]/ad[5:0] data bus / address data bus (bit5-0) ncs chip select input nwr/dir write signal input / access direction nrd/nds read signal input / data strobe a[5:4] address input a[3]/alepol address input / ale designate polarity a[2]/ale address input / ale a[1:0] address (bit1-0) nintr interrupt output (active low) nreset reset input (active low) 1.4.2 transceiver interface (5) rxin port1 receive data input txen port1 transmit enable output txd transmit data output (port1, 2 common) rxin2 port2 receive data input txen2 port2 transmit enable output 1.4.3 setup pin (33) nmux select address multiplex mode nrwm select r/w mode w16 select data bus width nswap select swap mode
peripheral mode circlink? controller datasheet smsc TMC2072 page 15 revision 0.1 (06-07-07) datasheet ndsinv nds designate polarity ps[1:0] determine page size (*1) nid[4:0] determine myid number (*1) maxid[4:0] determine maxid number (*1) ckp[2:0] determine data rate (*1) nstpre[2:0] nst resolution wpre[1:0] select wa rning timer resolution ndiag select diagnostics mode et1 determine arcnet extended timer (*1) nehwr select enhanced write mode nehrd select enhanced read mode txenpol txen,txen2 designate polarity nopmd select optical transceiver mode ncmibyp bypass cmi modem nhubon on/off determine of internal hub function note: (*1) could be also determined by t he register at the peripheral mode 1.4.4 external output or input/output (10) nnstcout nst carry output flasho outside output for flash gpio[7:0] general-purpose i/o port (bit7-0) 1.4.5 other input (5) ntest[3:0] test pins ntmode test mode
peripheral mode circlink? controller datasheet revision 0.1 (06-07-07) page 16 smsc TMC2072 datasheet 1.4.6 clock (3) x1 crystal oscillator x2 crystal oscillator mckin master clock input mck x1 x2 mckin (internal masterclock) - using an external clock : x1 is connected to gnd with mckin connect ed to the input of the external clock - using xtal : mckin is connected to vdd with x1, x2 connected to the crystal oscillator 1.5 user setup pins setup pins are strapped high or low to configure options according to sy stem design. for low, strap to ground. many pins have internal pullups on their i nput buffers. these pins can be left unconnected to keep them in high state. 1.5.1 cpu type selection (nrwm: pin) in peripheral mode, this pin selects the cpu type; in this case, the definit ion of nwr/dir (pin) and nrd/nds (pin) are selected. (refer to figure 3 - motorola cpu mode (68hxx) and figure 4 - intel cpu mode (86xx).
peripheral mode circlink? controller datasheet smsc TMC2072 page 17 revision 0.1 (06-07-07) datasheet [nrwm=h, ndsinv=h] read cycle write cycle nds dir figure 3 - motorola cpu mode (68hxx) [nrwm=l, ndsinv=l or h] read cycle write cycle nrd nwr figure 4 - intel cpu mode (86xx) 1.5.2 address multiplex selection (nmux: pin) in peripheral mode, this pin specif ies the system data bus from bit 5 to 0 and whether the addresses are multiplexed (refer to figure 5 - non-multiplex bus, figure 6 - multiplex (ale falling-edge type) and figure 7 - multiplex (ale rising-edge type). when the multiple xing bus option is selected, the polarity of a2/ale is specified based on a3/alepol.
peripheral mode circlink? controller datasheet revision 0.1 (06-07-07) page 18 smsc TMC2072 datasheet [in case of nmux=h] d15-8 data high byte a5-0 address data low byte d7-0 figure 5 - non-multiplex bus [in case of nmux=l, alepol=h] 1 bus cycle d15-8 data high byte ad5-0 address d ata bit7-6 d7-6 d ata bit5-0 ale figure 6 - multiplex (ale falling-edge type) [in case of nmux=l, alepol=l] 1 bus cycle d15-8 d ata h igh byte ad5-0 address d ata bit7-6 d7-6 d ata bit5-0 ale figure 7 - multiplex (ale rising-edge type)
peripheral mode circlink? controller datasheet smsc TMC2072 page 19 revision 0.1 (06-07-07) datasheet 1.5.3 write timing selection (nehwr: pin) in peripheral mode, this pin selects the write timing. [ example: nmux=h,nehwr=h ] ncs write signal tie to hi for cpu?s where ncs goes hi before the write signal goes hi. [ example: nmux=h,nehwr=l ] ncs write signal tie to low for cpus where ncs goes hi after the write signal goes hi. the write signal differs depending on the cpu types. nrwm = h: nds signal at dir = l nrwm = l: nwr signal note: refer to the ac timing specific ations (in another document) for deta ils (setup time, hold time, etc.). compare timing specifications for nehwr=l and nehwr=h.
peripheral mode circlink? controller datasheet revision 0.1 (06-07-07) page 20 smsc TMC2072 datasheet 1.5.4 read timing selection (nehrd: pin) in peripheral mode, this pin selects the read timing type. [ in case of nmux=h,nehrd=h ] ncs a[5:0] read signal address sampling timing tie to hi for cpus with valid address before ncs and the read signal go low. [ example: nmux = h and nehrd = l ] ncs a[5:0] read signal address sampling timing 50ns tie to l for the cpu?s where ncs is enabled and addr esses are valid after the read signal goes low. note: address acquisition timing in the circlin k delays about 50 ns (with 20 mhz-xtal). the read signal differs depending on the cpu type: nrwm = h: nds signal at dir = h nrwm = l: nrd signal note: refer to the ac timing specific ations (in another document) for deta ils (setup time, hold time, etc.). compare timing specificati ons for nehrd=l and nehrd=h.
peripheral mode circlink? controller datasheet smsc TMC2072 page 21 revision 0.1 (06-07-07) datasheet 1.5.5 data bus width selection (w16: pin) this pin selects the bit width of t he data bus in peripheral mode; h: 16- bit mode, l: 8-bit mode. in the 16- bit mode, the lsb address in the circlink is fixed to 0. 1.5.6 data bus byte swap (nswap: pin) in peripheral mode, this pin select s the data order at 8-bit access. cir clink registers are defined as 16-bit width, but 8-bit access is available and in this case the assignment of lower/ upper byte of registers and odd/even numbers of the address c an be changed. nswap=l assigns the lower byte to even number address and the upper byte to odd number address, and nswap=h assigns the lower byte to odd number address and the upper byte to even number address. 1.5.7 data strobe polarity specification (ndsinv: pin) in peripheral mode, this pin selects the pin polarity of data st robe (nds). it is active low with ndsinv = h and active high with ndsinv = l. 1.5.8 page size selection (ps[1:0]: pin/register) selects page size per packet. the maximum number of nodes depends on the page size selection since the packet buffer size is limited to 1 kbytes. there ar e two methods to specify the page size: either through pin or register settings depending on inimode (bit 9); 0: selects pin, 1: selects r egister (the default is 0). 1.5.9 maxid number setup (maxid[4:0]: pin/register) the maximum node id is set based on the number of nodes on the network. all nodes in a circlink network, therefore, should have t he same maximum node id. this optimizes the time required to reconfigure the network. there are two methods to specify the maxi mum node id, either through pin or register settings depending on inimode (bit 9); 0: selects pin, 1: selects register (the default is 0). if the ndiag pin is set to l as the exception, however, t he maximum node id is automatically set to the largest value. for more details, refer to section 2.10 - diagnostic mode. ps[1:0] page size max node number 00 256 byte 3 node 01 128 byte 7 node 10 64 byte 15 node 11 32 byte 31 node
peripheral mode circlink? controller datasheet revision 0.1 (06-07-07) page 22 smsc TMC2072 datasheet 1.5.10 node id setup (nid[4:0]: pin/register) sets node id. a unique number must be assigned to each node in the network in ascending order starting from id=01. however, id = 00 and an id that is la rger than the maximum node id are not valid. there are two methods to assign the node id, either through pi n or register, settings depending on inimode (bit 7) 0: selects pin, 1: select register (the default is 0). maxid[4:0] determines the maximum node id value. the to ken will only be passed around the nodes whose ids are equal to or less than the maximum id value. in the circlink network, a node whose maxid[4:0] and nid[ 4:0] matches is the node init iating the token passing.. even if this particular node is absent from the network, the network reconfiguration time is greatly reduced because the network will be reconfigured only for the nodes with ids less than maxi d[4:0]. also, given that the maximum number of nodes is fixed to 31 in a circlink network, the orig inal priority time of arcnet, (255 ? id) x 146 s* , which determines the waiting time for network reconf iguration initiation, is modified to (31-id) x 146 s, greatly reducing rec onfiguration time. refer to section 2.4.2 - reduction of network reconfiguration time for more details. note: * 146 s is defined under operation at 2. 5 mbps based on the arcnet protoc ol. the time is half at 5 mbps. 1.5.11 nst resolution setup (nstpre[2:0]: pin) selects the resolution of the netwo rk standard time counter (nst). refer to section 2.11 - network standard time (nst) for details. 1.5.12 standalone mode sp ecification (not supported) TMC2072 does not support standalone mode. 1.5.13 warning timer resolution (wpre[1:0]: pin] these pins select the warning timer resolution in pe ripheral mode. refer to section 2.9.4 - warning timer (wt) at remote buffer re ceive for more details. 1.5.14 diagnosis mode (ndiag: pin) this pin sets circlink to the diagnosis mode. ndiag to 0 forcibly fixes the maxid to ?1fh?. refer to section 2.10 - diagnostic mode for details.
peripheral mode circlink? controller datasheet smsc TMC2072 page 23 revision 0.1 (06-07-07) datasheet 1.5.15 prescaler setup fo r communication speed (ckp[2:0]: pin/register) communication speed (transfer rate) selection for cir clink. there are two methods to determine the communication speed, either through pin or register settings, depending on the specification of inimode (bit 9); 0: pin, 1: register (default is 0). 1.5.16 cpu interface bu s timing selection (nehwr, nehrd: pin) for the functions using peripheral mode, refer to sections 1.5.3 and 1.5.4. 1.5.17 cmi bypass specification (ncmibyp: pin) selects bypassing the cmi code/encodi ng. ncmibyp = l bypasses the cmi coding/decoding circuit so that encoding is rz form signal interface, equi valent to the arcnet back plane mode. 1.5.18 on/off of hub function (nhubon: pin) selects on/off ; nhubon=h selects the hub functi on off, nhubon=l selects the hub function on and enables the port 2 (rxin2 and txen2) available. ( in nhubon = h, rxin2 should be fixed to high.) refer to section 2.13 - hub func tion for the detailed operations. 40mhz xtal 20mhz xtal 32mhz xtal 16mhz xtal 000 8 5mbps 2.5mbps 4mbps 2mbps 001 16 2.5mbps 1.25mbps 2mbps 1mbps 010 32 1.25mbps 625kbps 1mbps 500kbps 011 64 625kbps 312.5kbps 500kbps 250kbps 100 128 312.5kbps 156.25kbps 250kbps 125kbps 101 256 156.25kbps 78.125kbps 125kbps 62.5kbps 110 reserved reserved reserved reserved reserved 111 reserved reserved reserved reserved reserved communication speed ckp2-0 prescale
peripheral mode circlink? controller datasheet revision 0.1 (06-07-07) page 24 smsc TMC2072 datasheet 1.5.19 optical transceiver mode (nopmd: pin) selects the output mode of the sending-enable; nopmd = h ma kes the optical transceiver mode unavailable and allows the txen and txen2 output pi ns to function as ?sending-enable?. setting nopmd = l allows txen and txen2 output pins to func tion as ?sending-enable and sending pulse? to be able to be directly connected to the ttl input pin of the optical transceiver. 1.5.20 txen polarity select (txenpol: pin) selects the output polarit ies of the txen and txen2 signals. txenpol = l selects negative logic and txenpol = h selects positive logic. 1.5.21 extension timer setting 1 (et1: pin/register) refer to section 2.13 - hub function for operational details. 1.5.22 test pins (ntest[3:0], ntmode: pin) all pins must be connected to vdd.
peripheral mode circlink? controller datasheet smsc TMC2072 page 25 revision 0.1 (06-07-07) datasheet chapter 2 functional description 2.1 communication specification - data transfer bit rate 78.125 kbps to 2.5 m bps (at 20 mhz xtal), (5 mbps at 40-mhz xtal) - the max. number of nodes 31 (id = 00 is not available for user) - data transfer check only the destinati on node can check data transfer. other nodes, however, can receive (monitor) the same data. - protocol enhanced versi on of arcnet (token passing) - packet size 256 bytes max. (user area: 253 bytes max.) 2.2 message class the following five classes of messages are identical to those in the arcnet protocol. refer to the arcnet controller com20020 rev. d datasheet for more details. alert eot did did itt (token) alert enq did did fbe (free buffer enquiries) alert ack ack (acknowledgements) alert nak nak (negative acknowledgements) data x n alert soh sid did packet (data packets) did cp crc crc n : max253 (arcnet layer)
peripheral mode circlink? controller datasheet revision 0.1 (06-07-07) page 26 smsc TMC2072 datasheet 2.3 circlink network communication protocol overview circlink is derived from the arcnet protocol. this section explains the arcnet basic communication protocol. a token (itt invitation to transmit) is a unique signa ling sequence that is pass ed in an orderly fashion among all the active nodes in the network. when a particu lar node receives the token, it has the sole right to initiate a transmission sequence or it must pass t he token to it?s logical neighbor. this neighbor can be physically located anywhere on the network and has t he 2nd highest address. once the token is passed to the recipient, it has the right to initiate transmissi on. this token-passing sequenc e continues in a logical ring fashion serving all nodes equally. node addresses must be unique and can range from 0 ? 255 with 0 reserved for broadcast messages. in a transmissi on sequence the node with t he token becomes the source node and any other node select ed becomes the destination node. fi rst the source node inquires if the destination node is in a mode to receive a trans mission by sending out a free buffer enquiry (fbe). the destination node responds by returning an acknowledgement (ack) meaning that the buffer is available or by returning a negative acknowledgement (nak) meaning that no buffer is available. upon receiving the ack, the source node sends out the data transmission (pac) with ei ther 0 ? 507 bytes of data (pac). if the data was properly received by the destination node as evidenced by a successful crc test, the destination node sends another ack. if the transmission was unsuccessful, the destination node does nothing causing the source node to timeout. the sour ce node will therefore, in fer that the transmission failed and will retry after it receives the tok en on the next token pass. the transmission sequence terminates and the token is passed to the next node. if the desired message exceeds 507 bytes the message is sent in a series of packets-one packet every token pass. the arcnet protocol comprises the reconfiguration process to ensur e the complete token passing for every node linked to the network. arcnet has the ability to reconfigur e the network automatica lly if a node is either added or removed from the network. if a node joins the netwo rk it does not automatically participate in the token passing sequence. being excluded from receiving the token t he new node will generate a rec onfiguration burst that destroys the token passing sequence. once the token is lost all nodes will cease transmitting and begin a timeout sequence (priorit y timer, (255-id) x 146 s , based on their own node address. the node (node id=n) with the highest address will timeout first and pass the token to the next higher address (node id=n+1).. if that node does not respond, it is assu med that node does not exis t. then the destination node address is incremented (node id=n+2) and the tok en resent. this process is repeated until a node responds. at that time the token is released to the responding node and the address of the responding node is noted as the logical neighbor of the originating node. this pr ocess is repeated by all nodes until each node learns its logical neighbor. this eliminat es wasting time in sending datagrams to absent addresses once the network has been re-established. when a node leaves the network the re configuration process is slight ly different. when a node releases the token to its logical neighbor, it expects its l ogical neighbor will respond within the respond timeout window (78 s) either a token pass or the start of a transmission sequence. if no response within the response time out window, it assumes that its nei ghbor has left the network and immediately begins a search for a new logical neighbor by incrementing the node address of its logi cal neighbor and initiating a token pass. network activity is again monitored and the increment process and resending of the token continues until a new logical neighbor is found. once found the network re turns to the normal logical ring routine of passing token to logical neighbors. these reconfiguration sequenc es of the network are automatic and seamless wit hout software intervention required.
peripheral mode circlink? controller datasheet smsc TMC2072 page 27 revision 0.1 (06-07-07) datasheet 2.4 circlink protocol enhancement since the communication of arcnet is controll ed by a token, a token loss and the corresponding reconfiguration significantly reduc e the throughput of the network. in order to maintain the throughput, modification of the arcnet protocol is requir ed to realize even higher real-time performance. 2.4.1 reducing token loss the primary source of token loss is caused by the burst signal. the burst signal is part of the sequence for new nodes joining the network as de scribed in section 2.3. in the cir clink, however, any new nodes do not join because all nodes join to the netwo rk at the system start-up. in ex ceptional cases, the node leaves the network due to token loss and a burst signal sent to r re-j oin the network. in order to avoid this burst signal, the arcnet protocol has been modifi ed to specify node ids as consec utive numbers starting from 01. when a node other than the node having the largest node id (nid [4:0] and maxid[4:0]) sends a token with the starting address being the node id +1, this avoids sending a burst because a token can be received in the next polling, even if a node has accidentally dropped out from the network. the token retry function has been added to circlink such that the possibility of not receiving the response from the logical neighbor is greatly reduced due to token corruption . . si nce the node id in the circlink is consecutive and the retry does not occur in normal conditions, t he token retry function does not degrade the total performance. this function can be set to on or off using software settings. (the default is on) another cause of the token loss is the corruption of ack/n ak. in the arcnet flow (refer to page 12 in the arcnet controller com20020i datasheet), if the node re ceives other signals ot her than the anticipated ack/nak response (such as noise or, data-deform ed ack/nak and the like), this node returns to the receive-wait state with a token bei ng held by the node. the network cons iders this as a token loss because the token disappears from the network. to avoid th is problem, arcnet protocol has been modified to send a token even after the detection of ack/n ak corruption this function against the ack/nak deformation can be set to on or off. (the default is on.) 2.4.2 reduction of networ k reconfiguration time to reduce the waiting dur ation of (255 - id) x 146 s* during the network rec onfiguration time, circlink designates a the node with the maximum id as the maximum node (max_node ). the node designated to the maximum node immediately starts sending a token. the destination num ber starts from 00. the token sending to 00 is not received by any node but triggers the other nodes to enter into the receive state out of the (255 - id) x 146 s* timer. in addition, the 255 of (255 - id) x 146 s* timer formula, derived from arcnet, the is modified to (the maximum number of nodes ?id) x 146 s depending on the maximum number of nodes, which is specified by the maxid [4:0] pin. this modification makes significant reduction of the time required for network reconfiguration even in the absence of the node set as max_node. note: * 146 s is the time under operation at 2.5 mbps. the time is half at 5 mbps..
peripheral mode circlink? controller datasheet revision 0.1 (06-07-07) page 28 smsc TMC2072 datasheet 2.4.3 reduction of reconfigur ation burst signal send time. since the circlink maximum packet size is smaller than for arcnet, the reconfigur ation burst signal is of shorter duration, reducing the time required for network reconfigurat ion as listed in the table below: circlink ps[1:0] max packet size burst signal sending time 00 256(253)byte 1.63ms 01 128(125)byte 1.07ms 10 64(61)byte 0.79ms 11 32(29)byte 0.65ms a rcnet -- max packet size burst signal sending time -- 512(508)byte 2.75ms () : data size note: above ?burst signal sending time? is the time for operation at 2.5 mbps. the time is half at 5 mbps. 2.5 ram page expansion the original arcnet buffer ram is divided into 256 or 512-byte per a page. th is configuration has a maximum of four pages available in 1 kbyte increm ents, leaving the majori ty of the ram unused when small data packets are used the circlink ram addre ssing has been modified to significantly expand the available ram page numbers and to store pages correspondi ng to the node ids on the network as listed in the table below. table 2 - number of nodes and ram page size page size ps[1:0] node id (min) *1 node id(max) page address 256 byte 00 01h 03h 100h x id 128 byte 01 01h 07h 80h x id 64 byte 10 01h 0fh 40h x id 32 byte 11 01h 1fh 20h x id note: * 1 : node id = 00 is used only for the system development and is not available for users.
peripheral mode circlink? controller datasheet smsc TMC2072 page 29 revision 0.1 (06-07-07) datasheet 2.5.1 ram access the cpu accesses the packet buffer (ram) through the co mr4 register. prior to access, a read or write and page number need to be specified usi ng the comr2 register, as well as the address specification in the page using the comr3 register. the accessing me thod varies depending on the bit width of data bus, word mode, and swap mode. (1) data bus = 16bits (w16 pin=h) comr2 register : rddata, autoinc, nwrapar, page[4;0] a/ad[5:0] = 04h - - - - - - - - rd . a.i. n w. a 43210 comr3 register : address within a page ramadr[7:0] a/ad[5:0] = 06h - - - - - - - - 7 6 5 4 3 2 1 x com4 register : packet data ramdt[15:0] a/ad[5:0] = 08h 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit0 is fixed in 0 in the inside. (2-a) data bus = 8bits , word mode=off (w16 pin=l, wdmd=0 in mode reg.) comr2 register : rddata autoinc nwrapar page[4:0] a/ad[5:0] = 04h (05h) * rd. a.i. n w. a 43210 comr3 register : address within a page ramadr[7:0] a/ad[5:0] = 06h (07h) * 76543210 comr4 register : packet data ramdt[7:0] a/ad[5:0] = 08h or 09h 76543210 ( )*:nswap=l
peripheral mode circlink? controller datasheet revision 0.1 (06-07-07) page 30 smsc TMC2072 datasheet (2-b) data bus = 8bits , word mode=on (w16 pin=l, wdmd=1 in mode reg.) comr2 register : rddata autoinc nwrapar page[4:0] a/ad[5:0] = 04h (05h) * rd. a.i. n w. a 43210 comr3 register : address within a page ramadr[7:0] a/ad[5:0] = 06h (07h) * 7 6 5 4 3 2 1 x comr4 register : packet data ramdt[15:0] a/ad[5:0] = 08h (09h) * 7 6 543210 a/ad[5:0] = 09h (08h) * 151413121110 9 8 ( )*:nswap=l bit0 is fixed in 0 in the inside. note: in word mode = on, to preserve the upper and lower by tes of word data as in the identical packet, comr4 must be accessed in order of 08h first and 09h second. this restriction applie s to both read and write. moreover, it is impossible to independently access cp (address = 02h) in ram independently to access the cp, a dummy cycle is necessary. refer to se ction 2.5.3 - packet data structure for detail.
peripheral mode circlink? controller datasheet smsc TMC2072 page 31 revision 0.1 (06-07-07) datasheet 2.5.2 packet buffer structure #00 (00h) #01 (01h) #31 (1fh) 00h 01h 1fh 32byte 1024byte 32page 32 byte mode page[4:0] ramadr[4:0] : : #0 (0h) #1 (1h) #15 (fh) 00h 01h 3fh 64 byte 1024 byte 16page 64 byte mode page[3:0] ramadr[5:0] : : #0 #1 #7 00h 01h 7fh 128 byte 1024 byte 8page 128 byte mode page[2:0] ramadr[6:0] : : 256 byte #0 #1 #3 00h 01h ffh 1024 byte 4page 256 byte mode page[1:0] ramadr[7:0] #2 :
peripheral mode circlink? controller datasheet revision 0.1 (06-07-07) page 32 smsc TMC2072 datasheet 2.5.3 packet data structure ps = [1:0] = example of 11 (32-byte mode) sid: source-id (source node id) did: destination-id (destination node id) : did=0 means the broadcast packet. cp: continuation pointer write the value (page size - n) for s ending n-byte data. that is, it indica tes the top positi on of data in the page. the example shows the value is 1ah (32 - 6 bytes = 26 bytes = 1ah). notes: limitations on the specifiable values for cp. 32b mode (ps [1:0] = 11) : values from 03h to 1fh 64b mode (ps [1:0] = 10) : values from 03h to 3fh 128b mode (ps [1:0] = 01) : values from 03h to 7fh 256b mode (ps [1:0] = 00) : values from 03h to ffh if a packet is sent with cp other than the specif ied value the destination node rejects the packet, and the session closes with a sending error (txerr). simultaneous ly the cp error (cperr) flag of the ec status register is set, which can issue an interrupt. the erro r flag, however, means a se tup or cp specification error to the circlink, and does not indicate a network error. sender: sending error (txerr) and cp error (cperr) flags ar e set and a token is passed to the next node. since ta flag is reset to 1 except in the remote buffe r mode (txm = 1) as well as the continuous send mode (rto = 0), a send command must be issued for re-sending. 8 bit constitution 16 bit constitution ramadr ramad r 10 7 0 15 8 7 0 00 sid 01 did 02 cp = 1a . . . 1a data #0 data #0 data #0 1b data #1 ( upper byte ) ( lower byte) 1c data #2 data #1 data #1 1d data #3 ( upper byte ) ( lower byte) 1e data #4 data #2 data #2 1f data #5 ( upper byte ) ( lower byte) cp=1a did dummy 1a 1c 1e (w16=l,wdmd=0) (w16=l,wdmd=1 or w16=h) . . 00 02 sid
peripheral mode circlink? controller datasheet smsc TMC2072 page 33 revision 0.1 (06-07-07) datasheet receiver: the receiver rejects the packet and goes back to idle state. 2.6 cpu interface 2.6.1 cpu identification and compatibility between intel and motorola processors the circlink controller, TMC2072, c an be connected to any combination of cpus listed in the table 3. for more information on setup, refer to section 1.5 - user setup pins. table 3 - cpu type connection cpu type classification item 16 bit cpu 8 bit cpu address multiplexed non-mux / mu ltiplexed non-mux / multiplexed data bus width 8bit / 16bit 8bit read / write nrd , nwrl or dir , nlds(lds) nrd , nwr or dir , nds(ds) table 4 describes setup of pin f unctions of address bus/dat a, bus/read write contro ls by nrwm and nmux pins. table 4- distinction and matching of the cpu type intel (80xx) type motorola (68xx) type nrwm = 0 nrwm=1 pin name nmux=0 nmux=1 nmux=0 nmux=1 d15 - d6 d15-d6 d15-d6 d15-d6 d15-d6 d/ad5 - d/ad0 ad5-ad0 d5-d0 ad5-ad0 d5-d0 a5-a4 - a5-a4 - a5-a4 a3 alepol a3 alepol a3 a2 ale a2 ale a2 a1-a0 - a1-a0 - a1-a0 nwr/dir nwr nwr dir dir nrd/nds nrd nrd nds(ds) nds(ds) remarks: symbol definition in table 4: d data bus a address bus ad address / data bus nwr write signal (16 bit cpu is nwrl)
peripheral mode circlink? controller datasheet revision 0.1 (06-07-07) page 34 smsc TMC2072 datasheet nrd read signal dir read / write signal nds(ds) data strobe signal (16 bit cpu is nld s) (polarity is designated by ndsinv pin) ale address latch enable signal alepol designate ale polarity 2.6.2 interface restrictions 1) data strobe signal using motorola 16-bit cpu when executing word (16 bit) access to odd addresses by dir and data strobe signals, the motorola cpu does not discriminate between upper and lower dat a strobe signals. because of this, it is necessary to or the upper and lower data strobe signals to provide the data strobe input. 2) note on data send when transmitting and receiving data of 8 bits and 16 bits, the transmitter node can send odd-numbered bytes but the receiving node can only implement word access ( 16-bit), the word is read with one invalid upper data byte. to use the receive data function in a system, spec ial care must be taken. this problem occurs only when the cp field value in the packet is an odd number.
peripheral mode circlink? controller datasheet smsc TMC2072 page 35 revision 0.1 (06-07-07) datasheet 2.7 operation and communication modes of circlink TMC2072 supports only peripheral mode, meaning comm unications require an external cpu. TMC2072 does not support standalone mode, which enables communications without a cpu. there are two communication modes in peripheral m ode: free-format mode which is capable of handling a free-format packet, and remote buffer mode, which uses cir clink as a simple buffer. register bits rxm01 to 31 specify the rx mode of each page and txm specifies the mode for tx mode. operation mode communication mode rxmn *1 =0 receive *1: n = 01 to 31 rxmn *1 =1 *1: n = 01 to 31 txm =0 transmit txm =1 transmit of free format mode transmit of remote buffer mode standalone mode peripheral mode receive of free format mode (every page every designate) receive of remote buffer mode (every page every designate) note: TMC2072 does not support standalone mode. 2.7.1 operation mode peripheral mode peripheral mode acts as the cpu's peripheral ci rcuit and has two communication modes, free-format mode and remote buffer mode. the communicati on mode is independently selectable for send and receive; txm of the mode register for sender and rxm01 to rxm31 of the receive mode register for receive. the communication mode for sender and rece iver must be identical and the communication mode of the receiver page should be adjusted to the communication mode of the sender.
peripheral mode circlink? controller datasheet revision 0.1 (06-07-07) page 36 smsc TMC2072 datasheet standalone mode in standalone mode circlink independent ly executes send and receiv e sequences without a cpu. however, TMC2072 can not use standalone mode because it does not support standalone mode. 2.7.2 communication mode free-format mode free format mode is retained from the original arcnet specification. this mode is not optimal for real- time performance but is useful for transferring large amounts of data at once. cp u controls a series of sequence such as "packet preparation issuing tx command interruption handling after the end of tx" at sender and "receive command issuing interrupt handling after the end of rx packet read" at receiver. since circlink initiates the actual tx upon receipt of a token addressed to t he node, the time between a tx command being issued and tx starting varies dependi ng on the line status. the free format mode is a "packet-oriented" transfer mode that assumes a co mpletion of packet preparation before issuing a tx cmd, so its real-time performance is not as high as that of the remo te buffer mode ?token-oriented? mode. on the other hand, the free format mode has no limitation on the packet data structure, and it can handle free format packets. moreover, communi cations in this mode are initia ted only by writing a tx cmd, thereby reducing traffic on the network. 8 bit constitution 16 bit constitution ram-adrs ram-adr s 10 7 0 15 8 7 0 00 sid 01 did 02 cp 03 04 05 .free . .format . . . . . 1e 1f 1e format (w16=l,wdmd=0) (w16=l,wdmd=1 or w16=h) dummy 04 free 00 did sid 02 cp figure 8 - packet structure of free format mode (example of 32 bytes/page)
peripheral mode circlink? controller datasheet smsc TMC2072 page 37 revision 0.1 (06-07-07) datasheet remote buffer mode remote buffer mode, a circlink enhancement, optimizes real-time performance. in this mode circlink can be handled as a simple data buffer like "write data in to the circlink at any time" at a transmit node and "read data from the circlink at any time" at a receiver node ?. since the remote buffer mode is a "token-oriented" mode that features automatic transmission each time a node receives a token (= sending ri ght), preparation of t he packet header portion (sid, did, and cp) is required prior to issuing a tx cmd. the data portion of a packet must be valid in 8 or 16 bits. this mode restricts the data structur e, but it is optimized in its real-time performance when compared to free format mode since it can always communicate with the packet data. setting rto to 1 (default = 0) in the mode register limits circlink to one packet per tx cmd write. if rto is switched to 1 while operating under rto = 0, the automatic send operat ion is disabled immediately after the completion of the packet delivery. 8 bit constitution 16bit constitution ram-adrs ram-adr s 10 7 0 15 8 7 0 00 sid 01 did 02 cp=1a :: :: : :: : 1a byte#0 word#0 word#0 1b byte#1 ( upper byte) ( lower byte ) 1c byte#2 word#1 word#1 1d byte#3 ( upper byte) ( lower byte ) 1e byte#4 word#2 word#2 1f byte#5 ( upper byte) ( lower byte ) 1c 1e : 1a 02 dummy cp=1a : (w16=l,wdmd=0) (w16=l,wdmd=1 or w16=h) 00 did sid figure 9 - packet structure of remote buffer mode (example of 32 bytes/page) in 16-bit constitution, upper and lower bytes in the same word are preserved as the same packet data (refer to section 3.2.5 - comr 4 register: data register).
peripheral mode circlink? controller datasheet revision 0.1 (06-07-07) page 38 smsc TMC2072 datasheet 2.8 sending in peripheral mode to send data using circlink, it is necessary to wr ite data being transmitted in the packet buffer regardless of the communication mode. for tx, the page correspondi ng to its node id in the packet buffer is assigned as the tx buffer. the cpu writes tx data on this page. 2.8.1 example of sending control from cpu in free format mode (mode register: txm = 0) the cpu manages all series of communica tion sequence such as "packet preparation issuing tx cmd handling interrupt after the end of tx". (nid=n) cpu side tmc2074/72 lan side 1 write to packet 2 transmit command ta = 1 --> 0 3 release interrupt mask ?? ? ?? ? transmit start token [did=n] (fbe) (ack) pac transmit end (ack) ta = 0 --> 1 token [did=n+1] 4 read status interrupt occurre 5 interrupt mask ( ): not executed in the case of broadcast transmit. note: when did set to 00h, it becomes the broadcast packet.
peripheral mode circlink? controller datasheet smsc TMC2072 page 39 revision 0.1 (06-07-07) datasheet 2.8.2 tx control from cpu in remote buffer mode (mode register: txm = 1) circlink can be treated as a simple data buffer so that the system cpu can writ e data to the circlink at any time. (nid=n) cpu side tmc2074/72 lan side 1 w rite address 2 w rite data 3 transmit command ta = 1->0 ?? ? ?? ? start transmit token[did=n] (fbe) (ack) pac end transmit (ack) keep of ta = 0 (*1) token[did=n+1] ?? ? 4 w rite data 4 w rite data 4 w rite data ?? ? 5 repeatedly repeatedly ( ): not done for broadcasts autom atic transm it at each tim e of the receive of self token note: when did is set to 00h it becomes the broadcast packet. (*1) if the rto bit is 0 in the mode register, circlink cont inues sending packets with a single tx cmd. the ta bit that represents tx end, cont inues to be 0 unless rto is set to 1 (constant tx status). if the rto bit is 1, the ta bit returns to 1 after each packet is transmitted, as in free format mode. tx cmd must be issued every time but this does not signi ficantly increase traffic on the network, making it suitable for applications such as handling sensor information that remains fairly constant. 2.9 receive in peripheral mode circlink receives all packet data on the network. afte r receiving a packet without any errors, circlink stores the packets in the relevant page in packet ram according to the source id (sid) included in the packet. receiving the data packet addressed to the node has four steps: receiving fbe sending ack receiving packet sending ack. for receiving a data packet addressed to another node in the network, the packet is stored in the relevant page without sending an ack. as described above, circlink const antly receives packets, with one exception: it abandons the received packets when the receive mode of the corresponding page is free format mode and the receive flag is set
peripheral mode circlink? controller datasheet revision 0.1 (06-07-07) page 40 smsc TMC2072 datasheet to 1 (receive inhibited). in this case, circlink does not return an ack even if the packet is addressed to the node (this case is handled as a receive error). if the receive mode of the corresponding page is set to remote buffer mode, circlink unconditionally stores packets in the corresponding page in the packe t ram as long as the received data is valid. the previous packet is overwritten and the newest pa cket is always stored in the packet ram. the meaning of the receive flag va ries depending on the receive mode: (1) free format receive mode 0: receive wait or receiving 1: receive is inhibited or receives is completed (2) remote buffer receive mode 0: no receive in a certain period 1: one or more receive in a certain period
peripheral mode circlink? controller datasheet smsc TMC2072 page 41 revision 0.1 (06-07-07) datasheet 2.9.1 temporary receive and direct receive packets received are stored in the pages partitioned by the received source id (received sid). there are two methods for storing packets: storing after erro r checking through a temporary buffer (#00), and storing directly. the decision of which process is used is automatically select ed in circlink based on the combination of page size and communication speed pre scaler setting. the smaller the page size or the larger the division ratio of the transfer rate presca ler, the more data packets will be received through the temporary buffer. ckp[2:0] bit rate : input clock communication speed 11:32b 10:64b 01:128b 00:256b 000 1:8 2.5 mbps : 20 mhz xtal oo % x 001 1:16 1.25 mbps : 20 mhz xtal ooo % 010 1:32 625 kbps : 20 mhz xtal oooo ckp>=011 1:64 over omission oooo o : receive through temporary buffer available x : receive through temporary buffer not available % : receive through temporary buffer available with condition see paragraph below. prescale page size setting ? ps[1:0] in the table above, ? % ? indicates ?temporary relay reception is not available in the default setting. however, by setting the farb bit = 1 in register, set up 2 temporary relay reception is available. the farb bit = 1 setting is possible when the farb bit default is 0 and only when the input clock is below 20 mhz. when the clock exceeds 20 mhz, it should not be set to 1. also, farb bit renewal must be carried out during software reset. in temporary buffer receive mode, the packet data cont aining any errors is left at page 00 if the receive terminates abnormally (crc error, etc. ) the copy to "sid page" corresponding to the received source id (receive sid), is not executed (the received data is discarded). in direct receive mode, the packet dat a containing errors is left at ?sid page? even if the receive terminates abnormally (crc error, etc.). regardless of whether the receive is done through temporary buffer or di rect receive, the rxf# flag upon abnormal termination of receive is set to 0 (not comp leted). it does not matter which receive process is being used because free format mode assumes that the rece ive is always checked with the rxf# flag. * 1 on the contrary, the receive process is important in the remote buffer re ceive mode with direct receive. * 2. in the worst case, if sid is corrupted in the rece ived packet, the packet data may be written to the wrong page.
peripheral mode circlink? controller datasheet revision 0.1 (06-07-07) page 42 smsc TMC2072 datasheet receive structure 0: free format 1: remote buffer t em porary routing receive o o d irect receive o * 1 x * 2 o: received data reliable x: no reliablity of received data receive mode rxm[31:01] table 5- page format of packet buffer [nid[4:0]=11110, ps[1:0]=11 : 32byte/page] ram address page usage 000 ? 01f 020 ? 03f : 3a0 ? 3bf 3c0 ? 3df 3e0 ? 3ff #01 #01 : #29 #30 #31 temporary buffer for receive data from node01 : data from node29 buffer for transmit data from node31 [nid[4:0]=x1110, ps[1:0]=10 : 64byte /page] ram address page usage 000 - 03f 040 - 07f : 340 ? 37f 380 ? 3bf 3c0 ? 3ff #00 #01 : #13 #14 #15 temporary buffer for receive data from node01 : data from node13 buffer for transmit data from node15 [nid[4:0]=xx110, ps[1:0]=01 : 128byte/page] ram address page usage 000 ? 07f 080 ? 0ff : 280 ? 2ff 300 ? 37f 380 ? 3ff #00 #01 : #05 #06 #07 temporary buffer for receive data from node01 : data from node05 buffer for transmit data from node07 [nid[4:0]=xxx10, ps[1:0]=00 : 256bye/page] ram address page usage 000 ? 0ff 100 ? 1ff 200 ? 2ff 300 ? 3ff #00 #01 #02 #03 temporary buffer for receive data from node01 buffer for transmit data from node03
peripheral mode circlink? controller datasheet smsc TMC2072 page 43 revision 0.1 (06-07-07) datasheet 2.9.2 example of receive flow in free format mode (rxmh/rxml register: when in rxm07 = 0) a cpu controls a series of s equences such as "issuing rx cmd handling interrupt after rx packet read". cpu side tmc2074/72 lan side 1 clear frcv bit frcv = 1->0 2 release interrupt mask 3 write receive flag rxf07 = 1->0 ?? ? ?? ? fbe (ack) pac [sid=07h] ( a ck) frcv,rxf07 = 0->1 4 read ec status interrupt occure 5 read receive flag 6 read packet 7 interrupt mask ( ): it is fbe, pac addressed to a self after the receive completion in the free format mode, the frcv (free format receive end flag) in the ec interruption status register (intst a) changes from 0 to 1, permitting the flag to be an interrupt source.
peripheral mode circlink? controller datasheet revision 0.1 (06-07-07) page 44 smsc TMC2072 datasheet 2.9.3 example of receive flow in remote buffer mode (rxmh/rxml register: when in rxm07 = 1) circlink is used as a simple data buffer such as "read data from the circlink at any time". (nid=n) cpu side tmc2074/72 lan side 1 wartc clear command rxfn = x->0 2 release interrupt mask ?? ? 3 read data 3 read data 3 read data 3 read data ?? 3 read data ?? ? warterr = 1 4 read ec status interrupt occure 5 error processing 6 interrupt mask each time packet comes automatic receive after completing the receive of remote buffer mode, rrcv (remote buffer receive end flag) in the ec interrupts the status register (i ntsta) and changes from 0 to 1, pe rmitting the flag to be an interrupt source. this mode also monitors if a packet comes fr om applicable nodes within a certain period. if there is a non-responsive node, the warterr fl ag changes from 0 to 1, permitting this change to be an interrupt source. refer to section 3.2.10 - ints ta register: ec interrupt status. 2.9.4 warning timer (wt) at remote buffer receive circlink checks the logical and rxf flags of all pages t hat are set to remote buffer mode. a result of 1 during a cycle , indicates a normal state, in which t here is no silent node on the net work. in this case the object flags are cleared after a certai n period of time (see table below). conversely, if the result retains a 0, the condition is not in a normal st ate, and waterr in the ec interrupt status register changes from 0 to 1. this condition will generate an interrupt.. this function is initialized by writing a warning ti mer clear command into the ec command register. the monitoring time is set by the warning timer resoluti on setup pins wpre [2:0] and wartc3-0 in the carry selection register. actually, the warning timer clear command only clear s waterr flag. the warning timer function starts automatically after releasing the software reset. so so me initial settings for this function are set before releasing the software reset. (see following steps) step-1: turn on software reset (reset bit = 1 in comr6 register)
peripheral mode circlink? controller datasheet smsc TMC2072 page 45 revision 0.1 (06-07-07) datasheet step-2: set initial settings (rx -mode, carry-selection, etc..) step-3: set warterr flag = 0 in the ec interrupt mask register step-4: release software reset (r eset bit = 0 in comr6 register) step-5: start the warning ti mer function automatically step-6: write the warning timer clear command into the ec command register. step-7: set warterr flag = 1 in the ec interrupt mask register step-8: after step-7, a interrupt generat es when warning timer error occurred ? carry selection w artc3-0 carry digit check period 0000 ------ illegal setting 0001 w t[1] w t resolution * 2^1 0010 w t[2] w t resolution * 2^2 :: : 1111 w t[15] w t resolution * 2^15 resolution selection 40mhz xtal 20mhz xtal 32mhz xtal 16mhz xtal 00 12.8us 25.6us 16.0us 32.0us 01 25.60us 51.2us 32.0us 64.0us 10 51.2us 102.4us 64.0us 128.0us 11 102.40us 204.8us 128.0us 256.0us resolution wpre1:0
peripheral mode circlink? controller datasheet revision 0.1 (06-07-07) page 46 smsc TMC2072 datasheet action of the receive flag(rxfxx) in remote buffer mode remote buffer remote buffer free format remote buffer remote buffer occure event rxf01 rxf02 rxf03 rxf04 rxf05 1 clear command host 00x00 ...... ...... 2 receive #01 lan 10x00 3 receive #05 lan 10x01 4 receive #02 lan 11x01 ...... ...... warning timer c.o. tmc warterr = 0 -> 1 2074/72 ...... ...... until the clear command is issued hold of condition example : case of maxid=05 x = don't care 5 communication mode / receive flag name 11x01 waning timer funct ion : timing chart example reset signal - > release reset flag clear flag clear warterr clear command det ect cont rol signal st op - > st art st op - > r e - st a r t detect period pulse warterr flag clear clear nor mal wa r n i n g d e t e c e d nor mal 1 111 1 1 rx flag: rxf01 c lear a ut o. clear c lear a ut o. clear 00 000 11 11 11 rx flag: rxf02 c l ear a ut o. clear c l ear a ut o. clear 00 000 11 not rx 11 rx flag: rxf05 c l ear a ut o. clear c l ear a ut o. clear 000 k eep 0 0 0 0 rx rx rx rx rx rx rx rx rx det ect period det ect period det ect period det ect period det ect period det ect period
peripheral mode circlink? controller datasheet smsc TMC2072 page 47 revision 0.1 (06-07-07) datasheet 2.10 diagnostic mode diagnostic mode allows node number #31 (*1) to temporarily join a network consisting of 30 or less nodes. the diagnostic mode is set by setting the ndiag pin to 0. the diagnostic mode pin should be set only on the node with largest node number (#n) in the netwo rk; on the other nodes it should be tied to 1. diagnostic mode = off , node number n=5 node numbe r ndiag pin node that give token designate maxid #01 "1" #02 #05 #02 "1" #03 #05 #03 "1" #04 #05 #04 "1" #05 #05 #05 "1" #01 #05 diagnostic mode = on , node number n=5+1 node numbe r ndiag pin node that give token designate maxid #01 "1" #02 #05 #02 "1" #03 #05 #03 "1" #04 #05 #04 "1" #05 #05 #05 "0" #06 * #31(compulsion) #31 "1" #01 #31 * because the #06 node does no t exist increment to 31 moreover, circlink, when receiving a packet from node number #31, latches the last m sb (bit 7) of the last byte and outputs it to the external output, flasho. this function is effective r egardless of the ndiag pin status, and enables node #31(*1) to control the flasho outputs of other nodes. a fter hardware reset, the external output flasho stays in hi-im pedance state until a packet is received. note: (*1) changes depending on the page size setting (ps[1:0]: see below). 2.11 network standard time (nst) network standard time (nst) is a 16-bit free-running c ounter. each node adjusts the time after receiving a packet from the clock master node (cm node), ensuri ng that all nodes share t he common standard time on the network. this minimizes phase deviation among nodes to within about 100 s. page size node id for diagnosis 32b ( ps[1:0]=11 ) #31 ( 1fh ) 64b ( ps[1:0]=10 ) #15 ( fh ) 128b ( ps[1:0]=01 ) #7 ( 7h ) 256b (ps[1:0]=00) #3(3h)
peripheral mode circlink? controller datasheet revision 0.1 (06-07-07) page 48 smsc TMC2072 datasheet the nst prescaler pin (nstpre2, 0) is used to set the count speed of the nst. the following table lists the relations among setting, re solution, and maximum time: 2.11.1 functions provided by nst automatic generation of packet with time stamp setting one (1) to the nstsend bit in the mode register allows the last 2 bytes in a packet to be reserved for the nst area, and the newest value of nst is automatically sent in t hese 2 bytes (nothing is written in the sending buffer ram). in the case of the clock master node (described in a later section), the same operation is carried out regardless of the nstsend value. the value is used as the time st amp of the packet and also used to maintain synchronization of time on the network. nst carry output the change of any digit in nst can be output as a periodic pulse to the nn stcout pin. nstc [3:0] in the carry register (external pin in t he standalone mode) is used to select the digit. the pulse width of the carry output is the same length as one cycle of the nst resolution. as long as nst is synchronized properly, every node can output the pulse with the same phase. nst prescale nstpre[2:0] prescale resolution max period resolution max period 000 1:32 0.8us 52.4ms 1.6us 105ms 001 1:64 1.6us 105ms 3.2us 210ms 010 1:128 3.2us 210ms 6.4us 419ms 011 1:256 6.4us 419ms 12.8us 839ms 100 1:512 12.8us 839ms 25.6us 1.68s 101 1:1024 25.6us 1.68s 51.2us 3.36s 110 1:2048 51.2us 3.36s 102.4us 6.71s 111 1:4096 102.4us 6.71s 204.8us 13.42s 40mhz xtal 20mhz xtal nst prescale nstpre[2:0] prescale resolution max period resolution max period 000 1:32 1.0us 0.07s 2.0us 0.13s 001 1:64 2.0us 0.13s 4.0us 0.26s 010 1:128 4.0us 0.26s 8.0us 0.52s 011 1:256 8.0us 0.52s 16.0us 1.05s 100 1:512 16.0us 1.05s 32.0us 2.10s 101 1:1024 32.0us 2.10s 64.0us 4.19s 110 1:2048 64.0us 4.19s 128.0us 8.39s 111 1:4096 128.0us 8.39s 256.0us 16.78s 32mhz xtal 16mhz xtal
peripheral mode circlink? controller datasheet smsc TMC2072 page 49 revision 0.1 (06-07-07) datasheet time readout accessing the nst register can dynam ically provide the latest time data. since nst is a 16 bit wide counter, it is necessary to read the even address side (10h) first when an 8-bit bus is used. when the even address is read out, the remaining 8 bits of the nst are latched internally. 2.11.2 time-synchronous sequence cm and cs nodes to synchronize nst, one clock master (cm) s hould be designated on the net work. the other nodes become clock slave nodes (cs node). the clock master id (cmid) must be set in the cmid register of every node. all nodes on the network set the same value as cmid. cm node cmid equals to its node id only one node on the network counting nst and notifying the cs nodes of the nst by sending packets. cs node cmid not equals to its node id receiving a packet from the node specified by cm id and synchronizing nst with its own clock. preset at first receive the nst of each node starts counti ng as free run immediately after power-up. cs nodes preset the received nst as the nst of its own after receivi ng the first packet from the cm node. this preset operation is performed only once for the first receive. the preset operation is performed not only after power-up but also immediately after resetting nststop in the mode register from 1 to 0, after writing cmid register, and after software reset. phase tracking after second receive the cs nodes that are preset by t he first receive from the cm node switch into the time synchronization mode by pll. the cs nodes that switch into p ll operation keep comparing their ns t to the received nst at every receive from the cm node. if the phase is different, the cs nodes dynamically c ontrol the speed of their counter to let the phase follo w the nst in the cm node. supplement: when the difference count value between the receiver?s nst and t he received nst from cm node, is +2 and above, the receiver?s counter is slowed to compensat e. when the difference is ?1 and below, the receiver?s counter is speeded up. when the difference is 0 or +1, the local counter makes no adjustment.
peripheral mode circlink? controller datasheet revision 0.1 (06-07-07) page 50 smsc TMC2072 datasheet 2.11.3 phase error sending frequency and phase error in cm the nst once set in the cs node will gradually drift out of synchronization as time progresses. this is caused by differences between each xtal. the le ss frequently the cm node sends packets, in other words, the longer the sending interval is, the greater the phase deviates. the nst resolution for a 16-mhz xtal is 32 s with the prescaler set to the intermediate (nstpre = 100). for the xtal of precision 100 ppm, the phase error of maximum 200 s per second occurs between two nodes. the minimum period to cause the phase error of 32 s (equals to a lsb of nst) is 0.16 (32/200) seconds. that is to say, if the cm node keeps sending packets every 160 ms or shorter, the phase error of the cm and cs nodes can be kept within 32 s. the following table shows the sending intervals of the cm node that keeps t he phase error within one lsb of nst: the interval that the cm node can send packets with in (tx cycle of cm node) is less than the time required for all nodes to send full-size packets to the specific destination nodes at the same token rotation. the time can be calculated with the following formula. [ calculation ] ( 352.5br + 11brb ) n br: bit cycle (br=400ns @2.5mbps) b: number of data byte (exc ept header as sid, did and c.p ) n: node number that is, if the rate is 2 mbps under the 32 page, 32 byte mode, the cm node has the opportunity of sending within 10.4 ms, which is calculated by (352.5 x 0.5 s + 11 x 0.5 s x 29b) x 31. that is frequent enough against 160 ms in the above table on this page. communication speed (data rate) and phase error the time difference becomes longer as communicati on speed becomes slower. the reason for this is because some data processing in circlink such as a crc check is dependent upon the data rate. the relation between the transfer speed and time differ ence from cm to cs is listed as follows: nstpre[2:0] nst resolution tx cycle of cm node nst resolution tx cycle of cm node 000 2.0 ( 1.6 ) us =< 10 ( 8 ) ms 1.0 ( 0.8 ) us =< 5( 4 ) ms 001 4.0 ( 3.2 ) us =< 20 ( 16 ) ms 2.0 ( 1.6 ) us =< 10 ( 8 ) ms 010 8.0 ( 6.4 ) us =< 40 ( 32 ) ms 4.0 ( 3.2 ) us =< 20 ( 16 ) ms 011 16.0 ( 12.8 ) us =< 80 ( 64 ) ms 8.0 ( 6.4 ) us =< 40 ( 32 ) ms 100 32.0 ( 25.6 ) us =< 160 ( 128 ) ms 16.0 ( 12.8 ) us =< 80 ( 64 ) ms 101 64.0 ( 51.2 ) us =< 320 ( 256 ) ms 32.0 ( 25.6 ) us =< 160 ( 128 ) ms 110 128.0 ( 102.4 ) us =< 640 ( 512 ) ms 64.0 ( 51.2 ) us =< 320 ( 256 ) ms 111 256.0 ( 204.8 ) us =< 1280 ( 1024 ) ms 128.0 ( 102.4 ) us =< 640 ( 512 ) ms 16mhz( 20mhz ) xtal 32mhz( 40mhz ) xtal
peripheral mode circlink? controller datasheet smsc TMC2072 page 51 revision 0.1 (06-07-07) datasheet circlink has an offset value built-in to abs orb the phase error depending on communication speed. moreover, the offset value can be manually set at the higher threshold of the carry register. note: only automatic setup is available in the condition of nstpre2 = l(0). ofsmod (carry register: bit 15) 0: automatic offset (default) 1: manual offset nstofs4 -0 (carry register: bit 12 to 8) the offset value is selected among 0 to 31. the actual offset time is ?nst resolution x nstofs4-0?. unlock flag synchronization between the nst unlock flag in the cm node and the nst in any other node is informed by nstunloc signal in the intsta register. this flag can be used as an interrupt source. 0: synchronous lock state , 1: sy nchronous unlock state (default) *about approval condition for sy nchronous lock /unlock state - unlock to lock state (nstunloc=0) the difference between own nst and nst from cm node is within +/-2. and nst from cm node must be received three times or more continuously, and all of those differences must be within +/-2. - lock to unlock state (nstunloc=1) the difference between own nst and nst from cm node is not within +/-2. or nst from cm node must be received three times or more cont inuously, and all of those differences are not within +/-2. a possible cause of unlock status not being cancelled is t hat the cm node?s nst pre-scalar setting is not in synchronized? a possible cause of sometimes fa lling into unlock status is that the cm node?s transmission frequency is low. in the case of the cm node, the flag becomes 0 in a steady state (s ynchronous lock status) for no apparent reason. as the initial settings in this ca se depends on the function modes, listed below. ckp[2:0] communication speed cm --> cs time defference communication speed cm --> cs time defference 000 2.0m ( 2.5m ) bps 27.5 ( 22 ) us 4.0m ( 5.0m ) bps 13.8 ( 11 ) us 001 1.0m ( 1.25m ) bps 55 ( 44 ) us 2.0m ( 2.5m ) bps 27.5 ( 22 ) us 010 500k ( 625k ) bps 110 ( 88 ) us 1.0m ( 1.25m ) bps 55 ( 44 ) us 011 250k ( 312.5k ) bps 220 ( 176 ) us 500k ( 625k ) bps 110 ( 88 ) us 100 125k ( 156.25k ) bps 440 ( 352 ) us 250k ( 312.5k ) bps 220 ( 176 ) us 101 62.5k ( 78.125k ) bps 880 ( 704 ) us 125k ( 156.25k ) bps 440 ( 352 ) us notes : "cm --> cs time defference" does not include propagation delay of cable. 16mhz( 20mhz ) xtal 32mhz( 40mhz ) xtal
peripheral mode circlink? controller datasheet revision 0.1 (06-07-07) page 52 smsc TMC2072 datasheet in peripheral mode, the cm node id is set in a regist er after cancellation of hardware reset. after these values are imported, output is 1 until it assumes itself as a cm node (it becomes 0 after that). during software reset, due to the cm node id being immediat ely imported, the cm n ode id is fixed at 1 0 immediately after being set up in the register. unlock phase difference register the phase difference between the ns t in the cm node and the nst in the subject node can be monitored through the nstdif register. difdir (nstdif register: bit 15) indicating the direction of phase difference 0: ahead of cm node 1: behind of cm node nstdif 14-0 (nstdif register: bit 14-0) absolute difference from the cm node is i ndicated as the value from 0 to 32,768. accessing the nstdif register can dy namically provide the latest time data. since nstdif is a 16 bit value, it is necessary to read the even address si de (32h) first when 8-bit bus is used. when the even address is read out, the remaining 8 bits of the nst are latched internally.
peripheral mode circlink? controller datasheet smsc TMC2072 page 53 revision 0.1 (06-07-07) datasheet 2.11.4 nnstcout pulse generation cycle 20mhz - xtal nstpre[2:0] resolution / max period nstc[3:0] cycle nstc[3:0] cycle 0000 3.2us 1000 819.2us 0001 6.4us 1001 1.6ms 0010 12.8us 1010 3.3ms 0011 25.6us 1011 6.6ms 0100 51.2us 1100 13.1ms 0101 102.4us 1101 26.2ms 0110 204.8us 1110 52.4ms 0111 409.6us 1111 104.9ms 0000 6.4us 1000 1.6ms 0001 12.8us 1001 3.3ms 0010 25.6us 1010 6.6ms 0011 51.2us 1011 13.1ms 0100 102.4us 1100 26.2ms 0101 204.8us 1101 52.4ms 0110 409.6us 1110 104.9ms 0111 819.2us 1111 209.7ms 0000 12.8us 1000 3.3ms 0001 25.6us 1001 6.6ms 0010 51.2us 1010 13.1ms 0011 102.4us 1011 26.2ms 0100 204.8us 1100 52.4ms 0101 409.6us 1101 104.9ms 0110 819.2us 1110 209.7ms 0111 1.6ms 1111 419.4ms 0000 25.6us 1000 6.6ms 0001 51.2us 1001 13.1ms 0010 102.4us 1010 26.2ms 0011 204.8us 1011 52.4ms 0100 409.6us 1100 104.9ms 0101 819.2us 1101 209.7ms 0110 1.6ms 1110 419.4ms 0111 3.3ms 1111 838.9ms 0000 51.2us 1000 13.1ms 0001 102.4us 1001 26.2ms 0010 204.8us 1010 52.4ms 0011 409.6us 1011 104.9ms 0100 819.2us 1100 209.7ms 0101 1.6ms 1101 419.4ms 0110 3.3ms 1110 838.9ms 0111 6.6ms 1111 1.68s 0000 102.4us 1000 26.2ms 0001 204.8us 1001 52.4ms 0010 409.6us 1010 104.9ms 0011 819.2us 1011 209.7ms 0100 1.6ms 1100 419.4ms 0101 3.3ms 1101 838.9ms 0110 6.6ms 1110 1.68s 0111 13.1ms 1111 3.35s 0000 204.8us 1000 52.4ms 0001 409.6us 1001 104.9ms 0010 819.2us 1010 209.7ms 0011 1.6ms 1011 419.4ms 0100 3.3ms 1100 838.9ms 0101 6.6ms 1101 1.68s 0110 13.1ms 1110 3.35s 0111 26.2ms 1111 6.71s 0000 409.6us 1000 104.9ms 0001 819.2us 1001 209.7ms 0010 1.6ms 1010 419.4ms 0011 3.3ms 1011 838.9ms 0100 6.6ms 1100 1.68s 0101 13.1ms 1101 3.35s 0110 26.2ms 1110 6.71s 0111 52.4ms 1111 13.42s note: nnstcout outputs low pulse qual to the nst resolution pulse cycle of nnstcout 010 6.4us/419ms 011 12.8us/839ms 1.6us/105ms 000 nst resolution setting 001 3.2us/210ms 100 25.6us/1.68s 101 51.2us/3.35s 110 102.4us/6.71s 111 204.8us/13.42s
peripheral mode circlink? controller datasheet revision 0.1 (06-07-07) page 54 smsc TMC2072 datasheet 16mhz - xtal nstpre[2:0] resolution / max period nstc[3:0] cycle nstc[3:0] cycle 0000 4.0us 1000 1.0ms 0001 8.0us 1001 2.0ms 0010 16.0us 1010 4.1ms 0011 32.0us 1011 8.2ms 0100 64.0us 1100 16.4ms 0101 128.0us 1101 32.8ms 0110 256.0us 1110 65.5ms 0111 512.0us 1111 131.1ms 0000 8.0us 1000 2.0ms 0001 16.0us 1001 4.1ms 0010 32.0us 1010 8.2ms 0011 64.0us 1011 16.4ms 0100 128.0us 1100 32.8ms 0101 256.0us 1101 65.5ms 0110 512.0us 1110 131.1ms 0111 1.0ms 1111 262.1ms 0000 16.0us 1000 4.1ms 0001 32.0us 1001 8.2ms 0010 64.0us 1010 16.4ms 0011 128.0us 1011 32.8ms 0100 256.0us 1100 65.5ms 0101 512.0us 1101 131.1ms 0110 1.0ms 1110 262.1ms 0111 2.0ms 1111 524.3ms 0000 32.0us 1000 8.2ms 0001 64.0us 1001 16.4ms 0010 128.0us 1010 32.8ms 0011 256.0us 1011 65.5ms 0100 512.0us 1100 131.1ms 0101 1.0ms 1101 262.1ms 0110 2.0ms 1110 524.3ms 0111 4.1ms 1111 1.05s 0000 64.0us 1000 16.4ms 0001 128.0us 1001 32.8ms 0010 256.0us 1010 65.5ms 0011 512.0us 1011 131.1ms 0100 1.0ms 1100 262.1ms 0101 2.0ms 1101 524.3ms 0110 4.1ms 1110 1.05s 0111 8.2ms 1111 2.10s 0000 128.0us 1000 32.8ms 0001 256.0us 1001 65.5ms 0010 512.0us 1010 131.1ms 0011 1.0ms 1011 262.1ms 0100 2.0ms 1100 524.3ms 0101 4.1ms 1101 1.05s 0110 8.2ms 1110 2.10s 0111 16.4ms 1111 4.19s 0000 256.0us 1000 65.5ms 0001 512.0us 1001 131.1ms 0010 1.0ms 1010 262.1ms 0011 2.0ms 1011 524.3ms 0100 4.1ms 1100 1.05s 0101 8.2ms 1101 2.10s 0110 16.4ms 1110 4.19s 0111 32.8ms 1111 8.39s 0000 512.0us 1000 131.1ms 0001 1.0ms 1001 262.1ms 0010 2.0ms 1010 524.3ms 0011 4.1ms 1011 1.05s 0100 8.2ms 1100 2.10s 0101 16.4ms 1101 4.19s 0110 32.8ms 1110 8.39s 0111 6 5.5ms 1111 16 .7 8 s note: nnstcout outputs low pules equal to the nst resolution pulse cycle of nnstcout 010 8.0us/524ms 011 16.0us/1.05s 2.0us/131ms 000 nst resolution setting 001 4.0us/262ms 100 32.0us/2.10s 101 64.0us/4.19s 110 128.0us/8.39s 111 256.0us/16.78s
peripheral mode circlink? controller datasheet smsc TMC2072 page 55 revision 0.1 (06-07-07) datasheet nst supplements setting nst send mode nullifies the last two-byte areas in the sending buffer. that is, the nst value is not written in the last two-byte areas. the nst value is directly loaded to the parallel-to-serial conversion register for transmit without using the buffer area ra m (not stored in a buffer). therefore, the circlink always sends the newest nst value. in addition, the clock master node (cm) sends nst, regardless of the nst send mode (cm node forcibly enters the nst sending mode). the nst value to be sent is the value immediately bef ore the last two bytes are sent to the parallel to serial conversion register. in the other words, the nst value shows t he time immediately after sending the third data from the last. from the viewpoint of the receiver , the nst value is stored at the la st two bytes area in the buffer page corresponding to the sid value of the received packet. if the sid value in the rece ive packet is the id of the clock master node, its nst val ue is automatically adjus ted. the received nst becomes available for time adjustment at the time when ending ?0? bec omes ok after crc error check completion. 2.12 cmi modem refer to appendix a - cmi modem at the end of this document.
peripheral mode circlink? controller datasheet revision 0.1 (06-07-07) page 56 smsc TMC2072 datasheet 2.13 hub function circlink integrates a 3-port hub function to expand the network. the hub function enables conversion of different communication media among twist-pair cable, fiber optics, and the lik e. in addition, the hub function expands the connection node number and cable lengt h limitations caused by transceiver performance limitations. the hub function is enabled by nhubon pin. among th ree ports, one is used internally for the connection to circlink main unit and the remaini ng two are used as external ports. cmi cmi 3-port hub port-1 port-2 circlink core case of nhubon=h internal 3 port hub block diagram rxin , txen , txd rxin2 , txen2 , txd (shared) nhubon=h nhubon=l off on port1 port1,port2 hub function communication port
peripheral mode circlink? controller datasheet smsc TMC2072 page 57 revision 0.1 (06-07-07) datasheet 2.13.1 operation example of hub function 1. dividing bus connection the bus can be electrically divided by setting the hub function on. circlink (hub= on ) port1 port2 port1 circlink (hub= off ) port1 circlink (hub= off ) port1 circlink (hub= off ) port1 circlink (hub= off ) bus topology-2 bus topology-1 t t :terminator tr. tr. t :transceiver tr. tr. tr. tr. tr. t 2. cascade connection fiber optics can be cascaded by using the hub function. circlink (hub= on ) port1 port2 tr. tr. circlink (hub= on ) port1 port2 tr. tr. tr. tr. circlink (hub= on ) port1 port2 tr. tr. peer to peer peer to peer peer to peer : transceiver tr. t t t t t t t t : terminator t (in optical fiber unnecessary) circlink (hub= on ) port1 port2 circlink (hub= on ) port1 port2 peer to peer tr. t tr. t
peripheral mode circlink? controller datasheet revision 0.1 (06-07-07) page 58 smsc TMC2072 datasheet 2.13.2 timer expansion in mu lti-stage cascade connection an extra delay of 0.5 s is added to the message when hub is set to on. a delay of 2.0 s is also added in the cmi coding/decoding processing when cmi is set to on. when configuring a cascade connection and setting both hub and cmi to on, a 2.5 s (2.0 s + 0.5 s) delay is added to a message every time the message passes a node. this delay may make the response timer timeout in the circlink, causing communication failure. the response timer monitors responses from the nodes and is normally set to 74.6 s. the one way propagation delay time permitted for cable, hub circuit, and cmi decoding/coding circuit is 31 s, which is calculated by (74.6 s - 12.6 s)/2; where 12.6 s is the circlink response time. this is equivalent to the delay time of a 12-stage cascade connection hub/cmi circuit. (31 s / 2.5 s = 12.4 -> 12-stage) if the sum of cable delay and hub/cmi delay is over 31 s, set et1 to 0 to extend the response timeout time to 298.4 s, which is four times longer than the normal delay time. taking this measures, the one way propagation delay time is extended to (298.4 s ? 12.6 s) /2 = 142.9 s. (142.9 s / 2.5 s = 57.2 -> 57- stage). the timer can be set by the et1 pin or internal regist er and has a structure of a nd logic in the circlink as shown below. (default"1") et1 et1 :pin et1 :register remarks: typical time delay added in the on state hub is 0.5 s. however, it is extended to 1.0 s if the optical mode is on (nopmd = l) and cmi is off (ncmibyp = l). note: values in text and table are bas ed on a 2.5 mbps network speed. w hen circlink operates at 1.25 mbps, the value should be doubled. when oper ating at 5 mbps, the value s hould be half. to be precise, the propagation delay time of the cable and the transceiver should also be added. response timer idle timer configuration timer 74.6us 82us 52ms 298.4us 328us 104ms
peripheral mode circlink? controller datasheet smsc TMC2072 page 59 revision 0.1 (06-07-07) datasheet 2.14 8bit general-purpose i/o port (new function) when circlink is used in the peripher al mode, 11* or more general- purpose i/o ports (gp-i/o) are utilized as the cpu interface with circlink (* at 8bit data bus and multiplex bus mode). eight gp-i/os are added to the circlink side as the substitution. (gpio7-0 pins). gp-i/o direction - control registe r ngpoe x (0: output , 1: input) gp-i/o data register gpd x gpio x pins 4ma ttl gp-i/o diagram (per 1bit) vdd (x : 0-7) (x : 0-7) s d q d q r two registers, named "direction cont rol register" and "data r egister", are added for the gp-i/o control. to allocate these registers in comr7 (address=0e h), the sub address is enhanced by one bit (subad3). - sub address register -> sub address : subad3-0 (address=0ah) the sub address is enhanced by subad3 bit - direction control register -> gp-i/o direc tion : ngpoe7-0 (address=0eh, subad=1011) gp-i/o direction control register --- the direction can be set by every one bit. ngpoex = 0 : output mode ngpoex = 1 : input mode - data register -> gp-i/o data : gpd7-0 (address=0eh, subad=1010) gp-i/o data register gpd7-0 : write operation ---- writ e data that outputs to gpip7-0 pin : read operation ---- read t he state of the gpio7-0 pin
peripheral mode circlink? controller datasheet revision 0.1 (06-07-07) page 60 smsc TMC2072 datasheet chapter 3 register descriptions 3.1 register map table 6 shows the register map. all registers are 16 bits wide and can be word-access and byte-access in 16-bit mode (w16 = h) and 8-bit mode (w16 = l) respective ly. in the case of byte access, the lower byte (bits 7 to 0) is assigned to an even address and the upper byte (bits 15 to 8) to an odd address by default,. this assignment can be reversed by setting the nswap pin to l. table 6- circlink register map adr. : cpu address a[5:0] in hex value. (addre ss 00h to 0fh are registers specific to arcnet) - word access (w16=high) adr. d15 - d0 adr. d15 - d0 adr. d15 - d0 adr. d15 - d0 00 comr0 10 nst 20 cmid 30 ckp 02 comr1 12 intsta 22 mode 32 nstdif 04 comr2 14 intmsk 24 carry 34 pininfo 06 comr3 16 eccmd 26 rxmh 36 not used 08 comr4 18 rsid 28 rxml 38 not used 0a comr5 1a ssid 2a maxid 3a errinfo 0c comr6 1c rxfh 2c nid 3c reserved 0e comr7 1e rxfl 2e ps 3e reserved - byte access and no swap (w16=low, nswap=high ) adr. d7 - d0 adr. d7 - d0 adr. d7 - d0 adr. d7 - d0 00 comr0 10 nst - l 20 cmid 30 ckp 01 (all zero) 11 nst - h 21 (all zero) 31 (all zero) 02 comr1 12 intsta - l 22 mode - l 32 nstdif - l 03 (all zero) 13 intsta - h 23 mode - h 33 nstdif - h 04 comr2 14 intmsk - l 24 carry - l 34 pininfo - l 05 (all zero) 15 intmsk - h 25 carry - h 35 pininfo - h 06 comr3 16 eccmd 26 rxmh - l 36 not used 07 (all zero) 17 (all zero) 27 rxmh - h 37 not used 08 comr4 18 rsid 28 rxml - l 38 not used 09 (all zero) * 19 mrsid 29 rxml - h 39 not used 0a comr5 1a ssid 2a maxid 3a errinfo- l 0b (all zero) 1b (all zero) 2b (all zero) 3b errinfo- h 0c comr6 1c rxfh - l 2c nid 3c reserved 0d (all zero) 1d rxfh - h 2d (all zero) 3d reserved 0e comr7 1e rxfl - l 2e ps 3e reserved 0f (all zero) 1f rxfl - h 2f (all zero) 3f reserved *: when the word-mode is enabled (wdmd _ bit=1), this address is mapped another comr4. - byte access and swap (w16=low, nswap=low )
peripheral mode circlink? controller datasheet smsc TMC2072 page 61 revision 0.1 (06-07-07) datasheet adr. d7 - d0 adr. d7 - d0 adr. d7 - d0 adr. d7 - d0 00 (all zero) 10 nst - h 20 (all zero) 30 (all zero) 01 comr0 11 nst - l 21 cmid 31 ckp 02 (all zero) 12 intsta - h 22 mode - h 32 nstdif - h 03 comr1 13 intsta ? l 23 mode - l 33 nstdif - l 04 (all zero) 14 intmsk - h 24 carry - h 34 pininfo - h 05 comr2 15 intmsk - l 25 carry - l 35 pininfo - l 06 (all zero) 16 (all zero) 26 rxmh - h 36 not used 07 comr3 17 eccmd 27 rxmh - l 37 not used 08 (all zero) * 18 mrsid 28 rxml - h 38 not used 09 comr4 19 rsid 29 rxml - l 39 not used 0a (all zero) 1a (all zero) 2a (all zero) 3a errinfo- h 0b comr5 1b ssid 2b maxid 3b errinfo- l 0c (all zero) 1c rxfh - h 2c (all zero) 3c reserved 0d comr6 1d rxfh - l 2d nid 3d reserved 0e (all zero) 1e rxfl - h 2e (all zero) 3e reserved 0f comr7 1f rxfl - l 2f ps 3f reserved *: when the word-mode is enabled (wdmd _ bit=1), this address is mapped another comr4. initial value of each register the value under ?init. value? in each regist er list indicates the initial value when hardware reset is applied to circlink via the nreset pin. with some exceptions, software reset does not initialize them . exceptions (software reset available) circlink internal communication protocol controller comr0 register (r) : all status information comr0 register (w) : all interrupt masks comr1 register (r) : all diagnostic information comr1 register (w) : all commands issued eccmd register : all commands issued intsta register : all ec status information intmsk register : all ec interrupt masks rxfh, rxfl registers : all receive flags errinfo register : all error information hardware reset : resets entire circlink unit. performed by nreset pin set to l.
peripheral mode circlink? controller datasheet revision 0.1 (06-07-07) page 62 smsc TMC2072 datasheet software reset : resets only the units related to communication functions. the reset method is described as below. how to software reset 1) permanent software reset set the reset bit of the comr6 register to 1 (retains until the bit is changed to 0) set the node id set to 00h (retains until the setting is changed to other than 00h) 2) temporary software reset software reset occurs for 100 ns (at 20 mhz clk input) i mmediately after rewriting the object bits or writing the object registers. this rese t is automatically released. rewriting inimode bit of the mode register rewriting txen bit of comr6 or mode register from 0 to 1 rewriting the following registers for inimode = 1 maxid register nid register ps register ckp register notes: ? the communication function unit w ill start operation within 1.0 s (at 2.5 mbps) after releasing software reset. it is therefore necessary to wait for at least 1.0 s (at 2.5 mbps) after releasing software reset before writing data to the register reset by software (see previous page). the writing can be ignored. ? after 10 s (at 2.5 mbps) following the software reset, d1h is written to address = 0 in page #00 of the ram and node id value is written to the address = 1. ? values in text are at 2.5 mbps. when 1.25 mbps, t he value should be doubled accordingly. when 5 mbps, the value should be half of 2.5mbps?
peripheral mode circlink? controller datasheet smsc TMC2072 page 63 revision 0.1 (06-07-07) datasheet 3.2 register details 3.2.1 comr0 register: stat us/interrupt mask register comr0 (status register) address:00h [read] bit name init. value description 15-8 -------- 0 reserved (all "0") *1 7 -------- 1 reserved 6,5 -------- 1,1 reserved 4 por 1 power on reset 3 -------- 0 reserved 2 recon 0 reconfiguration 1 tma 0 transmitter message acknowledged 0 ta 1 transmitter available comr0 (mask register) address:00h [write] bit name init. value description 15-8 -------- 0 reserved (all "0") *1 7 -------- 0 reserved ("0") 6-4 -------- 0,0,0 reserved (all "0") 3 excnak 0 excessive nak 2 recon 0 reconfiguration *1 1 nxtiderr 0 next id error 0 ta 0 transmitter available *1 not equivalent to the arcnet original specifications. - when reading: arcnet status register por (bit 4) when this bit is 1, it indicates that a hardware or software reset has been occurred?. this bit can be cleared by writing the por clear command (0eh). recon (bit 2) when this bit is 1 it indicates that a reconfiguration has occurred. this bit can be cleared by software reset or by writing the recon clear command (16h). tma (bit 1) when this bit is 1, it indicates that a trans mission has been performed correctly (except broadcast messages). this bit is valid only after the ta bit has been set to 1 and can be cleared by a software reset or by writing the send command (03h). ta (bit 0) when this bit is 1, it indicates that sending is comple te, and 0 indicates that sending is in progress. this bit becomes 0 when a write or send command (03h) is executed. in the case of free buffer mode (txm = 0) or
peripheral mode circlink? controller datasheet revision 0.1 (06-07-07) page 64 smsc TMC2072 datasheet one packet send at remote buffer mode (txm = 1 and rto = 1), this bit becomes 1 by the completion of one packet send or written send-cancellation-command (01h) . this bit also becomes 0 after the first send command and remains 0 until the tx cancel command is issued. under this condition the node will continue to send automatically. this bit becomes 1 when the mode exit s from the consec utive automatic send with the writing of send cancella tion command (01h) or rto bit = 1.the ta bit also exists in bit 0 of the ec interrupt status r egister and exactly the same signal as it. this bit can also be set by a software reset. - when writing: arcnet mask register (cleared by software reset) excnak (bit 3) this bit is set to 1 and the excnak bit in the co mr1 (diagnostic register) becomes 1 to generate the interrupt. (the com bit in the ec interrupt mask register = 1) recon (bit 2) this bit is set to 1 and the recon bit in the status register (comr0) becomes 1 to generate the interrupt. (the com bit in the ec interrupt mask register = 1) nxtiderr (bit 1) this bit is set to 1 and the nxtiderr bit in the diagnostic register (comr1) becomes 1 to generate the interrupt. (the com bit in the ec interrupt mask register = 1) ta (bit 0) this bit is set to 1 and the ta bit in the status register (comr0) becomes 1 to generate the interrupt. (the com bit in the ec interrupt mask register = 1)
peripheral mode circlink? controller datasheet smsc TMC2072 page 65 revision 0.1 (06-07-07) datasheet 3.2.2 comr1 register: di agnostic/command register comr1 (diagnostic register) address:02h [read] bit name init. value description 15-8 -------- 0 reserved (all "0") 7 my-recon 0 my reconfiguration 6 dupid 0 duplicate id 5 rcvact 0 receive activity 4 token 0 token seen 3 excnak 0 excessive nak 2 tentid 0 tentative id *1 1 nxtiderr 0 new next id 0 -------- 0 reserved comr1 (command register) address:02h [write] bit name init. value description 15-8 -------- -- reserved (all "0") 7-0 d7-0 -- d7-0 *1 not equivalent to the arcnet original specifications. - when reading: arcnet diagnostic register my-recon (bit 7) when this bit is 1, it indicates that the local rec onfiguration timer has timed out. this timeout sends a reconfiguration burst signal. it is read after an in terrupt has been generated by setting recon bit = 1. (recon bit = 1 is set after my-rec on bit is set to 1.) the bit is cleared by software reset or by being read. dupid (bit 6) when this bit is 1 in the offline state (txen = 0), it indicates that a duplicate node id exists on the network. in this state, the netwo rk cannot be accessed (txen = 1). check t hat all the node id settings are correct. in the online state (txen = 1), this bit is set to 1 every time a token addressed to it is received**. this bit is cleared by a software reset or by being read. ** disregard this first setting of dupid=0 -> 1. the second setting indicates a token addressed to its own circlink. rcvact (bit 5) when this bit is 1, it indicates that activity has been detected at the circlink re ceive input. this bit is cleared by a software reset or by being read. token (bit 4) when this bit is 1, it indicates that a token signal on the network has been detect ed. note that the token signal sent by this bit cannot be detected. this bi t is cleared by a software reset or by being read.
peripheral mode circlink? controller datasheet revision 0.1 (06-07-07) page 66 smsc TMC2072 datasheet excnak (bit 3) when this bit is 1, it indicates that a ?nak? wa s received 4 or 128 times from the receiving node (four naks is determined by bit a setting) in response to ?free buffer enquiry? during the send. it is possibly caused by the blind state (ecri = 1) of the destination node. this bit can not be cleared by bit-read but can be cleared by software reset or by the writing of the excnak clear command (0eh). tentid (bit 2) when this bit is 1, it indicates t hat comr7-000: tentative id register matches the id value in a token signal in the network. note that the id value in a to ken signal sent by this bi t itself cannot be compared. with the function in normal online state (txen = 1), a node id map of the network can be created. this bit is cleared by software reset or by being read. nxtiderr (bit 1) this bit is set when receiving no response from the token passed, to. the node with the id of node id + 1 *2 and the token is passed to another node. this bit can be cleared by a software reset or by the writing of nxtiderr clear command (09h), but is not cleared with read out. *2: node 01 when the node is maxid node. note: to detect the dupid and tentid bits, wait for the ma ximum polling cycle time of token after the nid or tentid value is changed. - when writing: arcnet command register this command register is not used in circlink; the ec command regist er in 3.2.12 must be used. the commands described there include all valid circlink commands.
peripheral mode circlink? controller datasheet smsc TMC2072 page 67 revision 0.1 (06-07-07) datasheet 3.2.3 comr2 register: page register comr2 (page register) address:04h [read/write] bit name init. value description 15-8 -------- 0 reserved (all "0") 7 rddata x read data 6 autoinc x auto increment *1 5 nwrapar 0 wrap-around mode *1 4-0 page4-0 x page 4-0 *1: not equivalent to the arcnet original specifications. (bit length variable) - when reading/writing: arcnet addre ss pointer upper register (new) rddata (bit 7) this bit specifies the type of acce ss to data register (comr4) handled. 1: reading from data register 0: write to data register autoinc (bit 6) this specifies an automatic incr ement mode of the ramadr accessi ng data register (comr4). the incremental value is +1 for 8 bits bus width and 0 wo rd mode (w16 = l, wdmd = 0), and +2 for 8 bits bus width and 1 word mode (w16=l, wdmd=1) or 16 bits bus width (w16=1). 1: automatically incremented 0: not automatically incremented nwrapar (bit 5) this bit specifies internal operati on mode when the most significant bit (msb) of ramadr is carried over. 1: move to the top of the next page 0: go back to the top of the current page page 4-0 (bits 4 to 0) these bits specify the page numbers of the packet buffers. rewriting t hese 5 bits is not valid before address in the page (comr3) is written. note that the upper lim it of specifiable val ue is restricted by the page size and unnecessary higher bits in circlink are deleted.
peripheral mode circlink? controller datasheet revision 0.1 (06-07-07) page 68 smsc TMC2072 datasheet 3.2.4 comr3 register: page -internal address register comr3 (address register) address:06h [read/write] bit name init. value description 15-8 -------- 0 reserved (all "0") *1 7-0 ramadr7-0 x ram address 7-0 *1: not equivalent to arcnet original specifications. (the bit length variable) - when reading/writing: arcnet addre ss pointer lower register (new) ramadr 7-0 (bits 7 to 0) these bits specify addresses in t he pages of the packet buffers. when t he autoinc bit of comr2 is 1, the value increments every time w hen the data register (com4) is accessed. the upper limit of the specifiable value is restrict ed by the size of the page. the comr2 page (page) and comr3 page- internal address (ramadr) registers actually comprises one 10-bit register and the boundary differs depending on t he specification of t he page size, as shown below. page + ramadr (10bit reg.) 9876543210 ps=11: 32page , 32byte ps=10: 16page , 64byte ps=01: 8page ,128byte ps=00: 4page ,256byte references of 2.5.1 chapter "ram access" about the structure of a/the packet buffe r ramadr4-0 ramadr-5-0 ramadr6-0 ramadr7-0 page4-0 page3-0 page2-0 page1-0 in continuously accessing data register with aut oinc = 1 set, you can specify how to carry out overflowing ramadr with nwrapar bit of comr2. zero (0) set-up carries it out to the top of the current page and one (1) set-up move it to t he top of the next page (or to #00 if the current is the final page). example of the operation at ps = 11 is shown below. nwrapar=1 nwrapar=0 page4-0=00001, ramadr4-0=11111 page4-0=00001, ramadr4-0=11111 page4-0=00010, ramadr4-0=00000 page4-0=00001, ramadr4-0=00000
peripheral mode circlink? controller datasheet smsc TMC2072 page 69 revision 0.1 (06-07-07) datasheet 3.2.5 comr4 register: data register (1) 16 bit mode (w16=h) comr4 (data register) address:08h [read/write] bit name init. value description *1 15-0 ramdt15-0 x ram data 15-0 (2) 8 bit mode and word mode=on (w16=l, wdmd=1) comr4 (data register) address:08h/09h [read/write] bit name init. value description *1 15-8 ramdt15-8 x ram data 15-8 *1 7-0 ramdt7-0 x ram data 7-0 notes: ? to preserve the upper and lower bytes of word data in the same packet, comr4 must be accessed in the order of 08h access 09h access. ? (access in the order of 09h 08h, 08h 08h, or 09h 09h will not preserve this data). ? this restriction is applied for both reading and writing. ? the upper/lower relationship is selected by the nswap pin. (3) 8 bit mode and word mode=off (w16=l, wdmd=0) comr4 (data register) address:08h or 09h [read/write] bit name init. value description 15-8 -------- 0 reserved (all "0") *1 7-0 ramdt7-0 x ram data 7-0 *1 not equivalent to the arcne t original specifications. - when reading/writing: arcnet data register(new) writing/ reading out the address in the 1 kbyte ram is indicated by the page register and intra-page address register. data access to packet bu ffer is performed via the data register. reading/writing is set by the rddata bit of comr2. note: accessing differently from the setting by rddata regi ster will not normally acce ss data. for example, data register writing with rddata = 1 setting, or dat a register reading with rddata = 0 setting will not normally be performed. 3.2.6 comr5 register: sub-address register comr5 (sub-address reg.) address:0ah [read/write] bit name init. value description 15-4 -------- 0 reserved (all "0") 3-0 subad3-0 0,0,0, 0 sub address 3-0
peripheral mode circlink? controller datasheet revision 0.1 (06-07-07) page 70 smsc TMC2072 datasheet note: do not set the value ?5-9h, c-fh? to subad3-0. - when reading/writing: a rcnet sub-address register subad [2:0] (bits 2 to 0) specifying sub-addresses for selecting seven regist ers assigned to comr7. be sure to set the sub- address first, and then access to comr7. subad3-0 = 0000 (0h) : selection of tentative id register subad3-0 = 0001 (1h) : selection of node id register subad3-0 = 0010 (2h) : selection of setup1 register subad3-0 = 0011 (3h) : selection of next id register (only read) subad3-0 = 0100 (4h) : selection of setup2 register subad3-0 = 1010 (ah) : selection of gpio data register subad3-0 = 1011 (bh) : selection of gpio direction control register 3.2.7 comr6 register: c onfiguration register comr6 (configurati on reg.) address:0ch [read/write] bit name init. value description 15-8 -------- 0 reserved (all "0") 7 reset 0 reset *1 6 -------- 0 reserved ("0") *3 5 txen 0/1 *4 transmit enable 4 et1 1 extended timeout 1 3 et2 1 extended timeout 2 *2 2 backplan 1 back plane *5 1-0 -------- 0,0 reserved (all "0") *1 not equivalent to the arcne t original specifications. (function elimination) *2 not equivalent to the arcne t original specifications. (change initial value) *3 not equivalent to the arcne t original specifications. (additional function) *4 the initial value changes by operation mode. 0 (off line) at the time of peripheral mode *5 these specifications are not equal with arcnet specification.
peripheral mode circlink? controller datasheet smsc TMC2072 page 71 revision 0.1 (06-07-07) datasheet (subad1-0 be integration to the comr5 register ) - when reading/writing: arcne t configuration register reset (bit 7) this bit sets a software reset. se tting 1 to this bit causes softwar e reset and setting 0 releases it. txen (bit 5) this bit sets access to/leaving from the network (onli ne and offline respectively); setting 1 to this bit is on- line and setting 0 off-line. a temporary software reset is applied when the bit is changed from 0 to 1. (the software reset is released automatically.) the softwar e reset is not applied when the bit is changed from 1 to 0. this bit is the same as the txen bit in the mode regi ster described in 3.2.18, whic h is the bit usually used. et1, et2 (bits 4 and 3) these bits set the timeout time of the response and idle timers. the fo llowing timeout times are the values applicable when the transfer rate is 2.5 m bps. (the values become half at 5 mbps) et2,et1 = 0,0 response timer = 1193.6us idle timer = 1312us max distances = 118.4km et2,et1 = 0,1 response timer = 596.8us idle timer = 656us max distances = 57.6km et2,et1 = 1,0 response timer = 298.4us idle timer = 328us max distances = 28.8km et2,et1 = 1,1 response timer = 74.7us idle timer = 82us max distances = 6.4km these timeout times must be identical in every node on the network. refer to the description of the rcntm1, 0 bits in the setup2 register. backplan (bit 2) this bit selects back plane mode and normal (dipulse) mode; setting 1 to the bit selects back plane mode and setting 0 selects normal (dipulse) mode. back plane mode is usually used (default). 3.2.8 comr7 register seven registers are defined for comr 7, selected by the selection of the subad [3:0] bits of comr5. comr7-0000 (tent. id register) address:0eh [read/write] subad=0000 bit name init. value description 15-5 -------- 0 reserved (all "0") *1 4-0 tid4-0 all "0" tentative node id *1 not equivalent to the arcnet original spec ifications. (reduction in the number of bits). - when reading/writing: arcne t tentative id register tid [4:0] (bits 4 to 0)
peripheral mode circlink? controller datasheet revision 0.1 (06-07-07) page 72 smsc TMC2072 datasheet the id value specified by this regi ster is compared with the id value in a token signal in the network and the results reflected in the tentid bit of the diagnostic register. te ntid becomes 1 if the comparison result matches. comr7-0001 (node id register) address:0eh [read/write] subad=0001 bit name init. value description 15-5 -------- 0 reserved (all "0") *1 4-0 nid4-0 all "0" my node id *1 not equivalent to the arcne t original specifications. (reduction the number of bits) - when reading/writing: arcnet node id register nid [4:0] (bits 4 to 0) when inimode = 1, this bit specifies the node id. this function is the same as t hat of the nid register described in 3.2.23 which is usually used instead of this register. comr7-0010 (setup1 register) address:0eh [read/write] subad=0010 bit name init. value description 15-8 -------- 0 reserved (all "0") *1 7 -------- 1 reserved ("1") 6 fournaks 0 four nacks 5 -------- 0 reserved ("0") 4 -------- 0 reserved ("0") 3-1 ckp2-0 0,0,0 clock prescaler bits 2,1,0 0 -------- 0 reserved ("0") *1: not equivalent to the arcnet original specifications. (func tion elimination) - when reading/writing: arcnet setup1 register fournaks (bit 6) this bit specifies the number of nak responses to t he "free buffer enquiry", function of the excnak bit of the diagnostic register. setting 1 to this bit s pecifies 4 times, and to 0 specifies 128 times. ckp [2:0] (bits 3 to 1) inimode = 1 specifies the communication speed (transfer ra te). this function is t he same as that of the ckp register described in 3.2.25 which is usually used instead of this register.
peripheral mode circlink? controller datasheet smsc TMC2072 page 73 revision 0.1 (06-07-07) datasheet comr7-0011 (next id register) address:0eh [read only] subad=0011 bit name init. value description 15-5 -------- 0 reserved (all "0") *1 4-0 nextid4-0 all "0" next node id *1: not equivalent to the arcnet original specifications. (reduction the number of bits and function modifications) note: do not write to this register. - when reading: arcnet next id register nextid [4:0] ( bit 4 to 0) it is possible for the node to read out value of the node id that will send the token. in circlink, the following id value is fixed to the id value of the node + 1. in case of no response after sending token to the node of id value equaling to the node id + 1 (absent rece iver) and the token is pa ssed to another node, the nxtiderr bit of the diagnostic register will be set to 1. comr7-0100 (setup2 register) address:0eh [read/write] subad=0100 bit name init. value description 15-8 -------- 0 reserved (all "0") *1 7 -------- 0 reserved ("0") *3 6 farb 0 reserved ("0") *1 5,4 -------- 0,0 reserved (all "0") *1 3 -------- 1 reserved ("0") *1 2 -------- 1 reserved ("0") *2 1-0 rcntm1-0 1,1 reconfiguration (recon) timer 1,0 *1 not equivalent to the arcnet origi nal specifications. (reduction function ) *2 not equivalent to the arcnet original specifications. (change initial value) *3 not equivalent to the arcnet original specifications. (addition of new function) - when reading/writing: arcnet setup2 register farb (bit 6) increases the speed of the ram access controller. in default setting, it se ts the yes/no setting of temporary relay reception of 128 byte/page during ckp=000 setting. fo r further details, please refer to section 2.9.1 - temporary receive and direct receive. 0: 128-byte/page temporary relay reception denied (default) ram access controller input clock has a single-sided function. 1: 128-byte/page temporary relay reception allowed ram access controller input clock has a double-sided function. accordingly, the input clock must be below 20 mhz .
peripheral mode circlink? controller datasheet revision 0.1 (06-07-07) page 74 smsc TMC2072 datasheet note: the farb bit switch must be operated during software reset. rcntm1, rcntm0 (bits 1 and 0) these bits set the timeout time of the reconfiguration timer. the following timeout times are applicable when the transfer rate is 2.5 mbps. (the values become half at 5 mbps) rcntm1-0 00 : timeout = 840ms 01 : timeout = 210ms 10 : timeout = 105ms 11 : timeout = 52ms (default) the timeout times above are values for comr6: reconfiguration regist er?s et1 and et2 = 1,1 respectively. if et1 and et2 are other than the above value, the timeout time is doubled. (this includes the case of et1 pin=low) refer to section 2.13.2 - timer expansion in mult i-stage cascade connection et1 pin and section 3.2.7 - comr6 register: configuration regi ster et1, et2 bit for details. comr7-1010 (gpio data register) address:0eh [read/write] subad=1010 bit name init. value description 15-8 -------- 0 reserved (all "0") *1 7-0 gpd7-0 all ?0? gp-i/o data *1 does not exist in the arcne t original specification. - when reading/writing: gpio data register gpd[7:0] (bit 7-0) write : write data which outputs to gpip7-0 pin read : read the state of the gpio7-0 pin gpd7 corresponds to the gpio7 pin. (refer to section 2.14 - 8bit general-purpose i/o port (new function). comr7-1011 (gpio direction register) address:0eh [read/write] subad=1011 bit name init. value description 15-8 -------- 0 reserved (all "0") *1 7-0 ngpoe7-0 all ?1? gp-i/o output enable *1 does not exist in the a rcnet original specification.
peripheral mode circlink? controller datasheet smsc TMC2072 page 75 revision 0.1 (06-07-07) datasheet - when reading/writing: gpio direction register ngpoe [7:0] (bit 7-0) set the direction of gpio7-0 pin. the direction c an be set by every one bit. ngpoe7 corresponds to the gpio7 pin. (refer to section 2.14.) 0 : output mode 1 : input mode supplement: refer to the arcnet controller com20020 rev.d data sheet for further details on bits comr0:7. 3.2.9 nst register: network standard time nst address:10h (read only) bit name init. value description 15-0 nst15-0 0000h network standard time nst15-0 (bits 15 to 0) these bits indicate the standard time in the network . refer to section 2.11 - network standard time (nst) for details. accessing the nst register can dynam ically provide the latest time data. since nst is a 16 bit width counter, it is necessary to read the even address side (10h) first when an 8-bit bus is used. when the even address side (11h) is read out, the remaining 8 bits of the nst are latched internally. 3.2.10 intsta register: ec interrupt status intsta address:12h (read only, read/write) bit name dir. init. value description 15 rxerr r/w 0 receiver error 14 cmiecc r/w 0 cmi rx error correction occurred 13 nstunloc r 1 or 0 nst unlock 12 warterr r 0 warning timer error 11 frcv r/w 0 free-format mode received 10 rrcv r/w 0 remote-buffer mode received 9 mrcv r/w 0 my received 8 sidf r/w 0 sid found 7 tknretf r/w 0 token retry occurred 6 acknakf r/w 0 corrupt ack/nak recovered 5 hubwdto r/w 0 hub watch dog timer time-out 4 cperr r/w 0 tx cp error 3 com r 0 arcnet core interrupt 2 fbenr r/w 0 fbe no reply 1 txerr r/w 0 transmitter error 0 ta r 1 transmitter available
peripheral mode circlink? controller datasheet revision 0.1 (06-07-07) page 76 smsc TMC2072 datasheet the upper 8 bits indicate the receive status, and the lower 8 bits indicate the send status. every bit in this register can be used to generate an interrupt . rxerr (bit 15) this bit indicates that receive has stopped due to an erro r during packet receive. as soon as this bit is set, the details of the error are reflect ed to rxec 2-0 (bits 7 to 5) in t he errinfo register, and the id of the sending node is stored to resid 4-0 (bits 4 to 0) in the same register. note that this bit is not set by any message other than a packet (token, fbe, ack, or nak). this bit is cleared by 1 writing or by a software reset. cmiecc (bit 14) this bit indicates that error correction of receiv ed data has been performed in the cmi decoding circuit. as soon as this bit is set, the details of error are stored in cmiei3-0 (bits 11 to 8) of the errinfo register. this bit is cleared by writing a 1 or by software reset. nstunloc (bit 13) indicates synchronizing with the cm node?s nst. this bit is set by software reset. for further details, please refer to section 2.11. 0: synchronous lock status 1: synchronous unlock status (initial value) in the cm node, this flag goes into steady state 0 (synchronous lock st atus). accordingly, the initial settings are as seen below. in peripheral mode, the cm node id is set in a regist er after cancellation of hardware reset. after these values are imported, the out put is 1 until it assumes itself as a cm node (it becomes 0 after that). during software reset, due to the cm node id being immediat ely imported, the cm n ode id is fixed at 1 0 immediately after set-up in the register. warterr (bit 12) this bit is set if data is not received by any page set in remote buffer receive mode within a fixed period. this bit is cleared by the warterr clear command or by a software reset. 1: no receive within a fixed period, 0: receive within a fixed period. frcv (bit 11) this bit is set if the reception by any page set in fr ee format receive mode is completed normally. this bit is cleared by writing a 1 or by a software reset. 1: receive complete, 0: receive in progress rrcv (bit 10) this bit is set if the reception of any page set in re mote buffer receive mode is completed normally. this bit is cleared by writing a 1 or by a software reset. 1: receive complete, 0: receive in progress mrcv (bit 9)
peripheral mode circlink? controller datasheet smsc TMC2072 page 77 revision 0.1 (06-07-07) datasheet this bit is set if receive of a packet sent to the local node is completed normally. this bit is cleared by writing a 1 or by a software reset. 1: receive complete, 0: receive in progress sidf (bit 8) this bit is set if a packet sent from the sid specified by the ssid register is received. this bit is cleared by writing a 1or by a software reset. tknretf (bit 7) this bit indicates that a token retry is performed. re fer to section 2.4.1 - reducing token loss for details. this bit is cleared by writing a 1or by a software reset. acknakf (bit 6) this bit indicates that counterm easures corrupt ack/nak data have been implemented. refer to section 2.4.1 - reducing token loss for details. this bit is cleared by writing a 1 or by a software reset. hubwdto (bit 5) this bit indicates that the hub unit has been reset wh ich was caused by timeout of watchdog timer,. this is done to prevent the direction cont rol circuit of the hub unit from hanging-up. a timeout occurs if the transmit signal from hub is continuously active for 3. 27 ms or more. (when using 2.5 mbps. at 5 mbps, the value is half -> 1.64ms) this timeout causes the hub unit and two cmi units to be automatically reset. (if the hub unit is off, the cmi units are not reset.) this bit is cleared by writing a 1or by a software reset. cperr (bit 4) this bit is set if the cp field of the preceding packet is of a val ue that exceeded the page boundary, or is between 00h and 02h, both of which are invalid cp settings. refer to section 2.5.3 - packet data structure for details. this bit is cl eared by writing a 1 or by a software reset. 1: packet including invalid cp field is sent, 0: normal packet is sent com (bit 3) this bit is set to 1 if there is an interrupt from the arcnet core. be sure to set the bit of comr0 mask register bits when required. this bit is set to 1 when the interrupt is generat ed by excnak, recon, nxtiderr and ta bit in the mask register of comr0. fbenr (bit 2) both fbenr and txerr bits are set if there is no res ponse to fbe . if this bit is set, it is possible to determine that data is transmitted to a node that would not cause a sendi ng failure, thus identifying failures based on deformed packet data. this bit is cleared by writing a 1, issuing send command, , or by a software reset. txerr (bit 1)
peripheral mode circlink? controller datasheet revision 0.1 (06-07-07) page 78 smsc TMC2072 datasheet this bit is set if sending fails. be aware that this function is the opposite of t hat of the arcnet-original tma bit. this bit is cleared by writing a 1 , issuing the send command, or by a software reset. ta (bit 0) this bit is the same as the ta bi t of the comr0: arcnet status regist er. (refer to that register for details.) this bit becomes 0 onl y during the send command issuing. combination and meaning of transmission status ta txerr fbenr meaning 0 x x transmitting 1 0 0 transmit complete 1 1 0 transmit error by data error 1 1 1 transmit error by fbe unanswer 3.2.11 intmsk register: ec interrupt mask intmsk address:14h (read/write) bit name init. value description 15 rxerr 0 receiver error 14 cmiecc 0 cmi rx error correction occurred 13 nstunloc 0 nst unlock 12 warterr 0 warning timer error 11 frcv 0 free-format mode received 10 rrcv 0 remote-buffer mode received 9 mrcv 0 my received 8 sidf 0 sid found 7 tknretf 0 token retry occurred 6 acknakf 0 corrupt ack/nak recovered 5 hubwdto 0 hub watch dog timer time-out 4 cperr 0 tx cp error 3 com 0 arcnet core interrupt 2 fbenr 0 fbe no reply 1 txerr 0 transmitter error 0 ta 0 transmitter available this register corresponds to interr upt status, and being set to 1, the in terrupt signal becomes active when the corresponding status becomes 1. 3.2.12 eccmd register: ec command register eccmd address:16h (read/write) bit name init. value description 15-8 -------- 0 reserved (all "0") 7-0 eccmd7-0 00h ec command eccmd 7-0 (bits 7 to 0) this command is unique to circlink when the bus width is 8 bits (w16 = 0), access to higher bytes is invalid; the command is executed by access to the lowe r bytes. when the bus width is 16 bits (w16 = 1),
peripheral mode circlink? controller datasheet smsc TMC2072 page 79 revision 0.1 (06-07-07) datasheet ?00h? should be specified for the hi gher bytes. readable value from this register is the prior write command. 03h: send command this command instructs the circlink to start sending. after issuing the send command, an actual sending is started upon receipt of token to the node. in continuous s end mode (txm = 1, rto = 0) or in remote buffer sending mode, an automatic send operation repeats whenever a node receives the token after the first one time command has been issued. in free format send mode (txm = 0) or the remo te buffer send mode, a send command must be issued each time when in single send mode (txm = 1, rto =1). 01h: sending cancellation command this command cancels the prior send command . after canc ellation, the ta bit is set to 1. if this command is issued before the node receiv es the token, cancellation of the send is possible. it is necessary to confirm ta=1 because the cancella tion is actually executed when the token arrives. in continuous send mode (txm = 1, rto = 0) in t he remote buffer send mode, continuous send operation can be stopped. (to restart, re-send command is necessary.) 09h: nxtiderr clear command this command clears the nxtiderr bit in comr1 (diagnostic register) . 0ah: warterr clear command this command instructs initializati on and start of the warning timer f unction. in addition, this command clears the warterr bit and the intsta register as well as all receive flag in the page that is set to the remote buffer mode. 0eh: por, excnak clear command this command clears the por bit in comr0 (status register) and the excnak bit in comr1 (diagnostic register). cancellation of either of two bits is unavailable. 16h: recon clear command this command clears the recon bit in comr0 (status register). 1eh: concurrent operation of por, excnak clear and recon clear command these commands clear all por, excnak, and recon bits. 3.2.13 rsid register: receive sid rsid address:18h (read only) bit name init. value description 15-13 -------- -- reserved (all "0") 12-8 mrsid4-0 all "0" my received sid 7-5 -------- -- reserved (all "0") 4-0 rsid4-0 all "0" received sid
peripheral mode circlink? controller datasheet revision 0.1 (06-07-07) page 80 smsc TMC2072 datasheet mrsid 4-0 (bits 12 to 8) sid of the packet to the node received last. rsid 4-0 (bits 4 to 0) sid of packet received last. 3.2.14 ssid register: sid ssid address:1ah (read/write) bit name init. value description 15-5 -------- -- reserved (all "0") 4-0 ssid4-0 all "0" search sid ssid 4-0 (bits 4 to 0) when a packet having sid as defined in section 3.2.14 - ssid register: sid, is received, the sidf bit of the interrupt status register is set. 3.2.15 rxfh register: receive flag (higher side) rxfh address:1ch (read/write) bit name init. value description 15 rxf31 1 receive flag (page #31) 14 rxf30 1 receive flag (page #30) 13 rxf29 1 receive flag (page #29) 12 rxf28 1 receive flag (page #28) 11 rxf27 1 receive flag (page #27) 10 rxf26 1 receive flag (page #26) 9 rxf25 1 receive flag (page #25) 8 rxf24 1 receive flag (page #24) 7 rxf23 1 receive flag (page #23) 6 rxf22 1 receive flag (page #22) 5 rxf21 1 receive flag (page #21) 4 rxf20 1 receive flag (page #20) 3 rxf19 1 receive flag (page #19) 2 rxf18 1 receive flag (page #18) 1 rxf17 1 receive flag (page #17) 0 rxf16 1 receive flag (page #16) rxf31-16 (bits 15 to 0) this is a flag that indicates the receive status of pages from 16 to 31. the definition is different depending on the receive mode of the corres ponding page. in the free-format receiv e mode, the regi ster becomes a writable register. this register is effective only when page size is set to the 32-byte mode due to ram size; in other sizes, the readout is always ?1?.
peripheral mode circlink? controller datasheet smsc TMC2072 page 81 revision 0.1 (06-07-07) datasheet free format receive mode [flag definition] 1: receiv e completed/u nauthorized state 0: receive authorized [clear condition] writing ?1?, or last dat a readout of corresponding page only in naclr = 0 remote buffer receive mode [flag definition] 1: receive within a fixed time period 0: no receive within a fixed time period. [clear condition] writing 0ah (warterr clear co mmand) in the eccmd register, or ok in the warning monitoring result if the all-receive-inhibit bit, ecri, in the mode register is returned from 1 to 0, all the receive flags return to 1 regardless of their receive mode. 3.2.16 rxfl register: receive flag (lower side) rxfl address:1eh (read/write) bit name init. value description 15 rxf15 1 receive flag (page #15) 14 rxf14 1 receive flag (page #14) 13 rxf13 1 receive flag (page #13) 12 rxf12 1 receive flag (page #12) 11 rxf11 1 receive flag (page #11) 10 rxf10 1 receive flag (page #10) 9 rxf09 1 receive flag (page #09) 8 rxf08 1 receive flag (page #08) 7 rxf07 1 receive flag (page #07) 6 rxf06 1 receive flag (page #06) 5 rxf05 1 receive flag (page #05) 4 rxf04 1 receive flag (page #04) 3 rxf03 1 receive flag (page #03) 2 rxf02 1 receive flag (page #02) 1 rxf01 1 receive flag (page #01) 0 -------- 0 reserved ("0") rxf15-01 (bits 15 to 1) this flag indicates the receive status of pages 01 to 15. the definition is di fferent depending on the receive mode of the corresponding page. in the free format receiv e mode, the register becom es a writable register. bits from 15 to 4 are not effective when the page size is 128/256 and bits from 15 to 4 are not effective when page size is 256 bytes and the readout is always ?1?.
peripheral mode circlink? controller datasheet revision 0.1 (06-07-07) page 82 smsc TMC2072 datasheet free-format receive mode [flag definition] 1: re ceive completed/unauthorized 0: receive authorized [clear condition] writing ?1?, or last dat a readout of corresponding page only in naclr = 0 remote buffer receive mode [flag definition] 1: receive within a fixed time period 0: no receive within a fixed time period. [clear condition] writing 0ah (warterr clear co mmand) in the eccmd register, or ok in the warning monitoring result if the all-receive-inhibit bit, ecri, in the mode register is returned from 1 to 0, all the receive flags return to 1 regardless of their receive mode. supplement: clearance by writing ?1? of receive flag in free-format receive mode regarding receive flags rxf31 to rxf1, the flags become 1 after receive completion and 0 after clearance upon data readout. the clear ance is executed by writing ?1? in object bits. this section explains how ?writing 1? can clear the bits (flags) that become active by ?1.? (this description is applicable in flag clearing of interrupt status register.) the basic idea is that direct writi ng of the readout data in a register can clear the bits that have been ?1.? for example, the readout data of the rxfh register (higher receive flag) is 01h; in this case, the data means receive completion of page #16. a fter that, if the readout data, 01h, is written in the rxfh register, only the rxf 16 bit is cleared. therefor e, the bit in the rxfh register t hat is set after the rxfh register readout is not cleared by mistake. the important point is t hat the bits subject to be cleared are the bits of which the cpu recognizes as ?1.? 3.2.17 cmid register: clock master node id cmid address: 20h (read/write) bit name init. value description 15-5 -------- -- reserved (all "0") 4-0 cmid4-0 all "0" clock master node id cmid 4-0 (bits 4 to 0) these bits specify ids of the cl ock master node, standard node of the network standard time (nst). if a packet is received from the node set, the nst is loaded. if 0 is set, loading is not executed.
peripheral mode circlink? controller datasheet smsc TMC2072 page 83 revision 0.1 (06-07-07) datasheet 3.2.18 mode register: operat ion mode setup register address: 22h (read/write) bit name init. value description 15-13 -------- -- reserved (all "0") -> must write 000 12 cmierrmd 0 cmi rx error mode 11 nstsend 0 network standard time send 10 nststop 0 network standard timer stop 9 inimode 0 initialize mode 8 txen 0 or 1 tx enable 7 ecri 0 circlink receive inhibit 6 bre 0 broadcast receive enable 5 txm 0 transmitter mode 4 rto 0 remote buffer tx once mode 3 wdmd 0 packet data word mode 2 ntknrty 0 token retry 1 nacknak 0 acknack mode 0 naclr 0 receive flag auto clear cmierrmd (bit12) this bit sets the operation mode in the event of error correction dur ing data packet receive in the cmi decoding circuit. when error correction (cmiecc = 1) is performed during a receiv e, if the receive is terminated this bit is set to 1. the proceeding rece ive termination should follow 2.9.1 ?temporary receive and direct receive.? 1: terminates packet receive , 0: does not terminate packet receive nstsend (bit11) this bit has a function that allows the nodes to alter nate clock master to add the nst value to the last two bytes of packets, similar to the function in clock master node. when this bit is set to 1, nst is sent instead of the last two bytes that are written in packet ram. 1: adds nst , 0: does not add nst nststop (bit10) this bit stops nst at the current count value. 1: stops nst count , 0: does not stop nst count inimode (bit 9) this bit selects whether the circl ink initializations (which include of maxid number setup, page size setup, the node number setup, and communication rate prescaler setup) are set via an external input pin or by register specificati on. since this bit is important in network settings, this bit must be rewritten in the condition of txen = 0 (offline). when this bit is rewr itten, software reset is aut omatically executed. (the software reset is released automatically.)
peripheral mode circlink? controller datasheet revision 0.1 (06-07-07) page 84 smsc TMC2072 datasheet 1: sets via register , 0: se ts via external input pin. txen (bit 8) setting this bit to 1 enables network participation. the initial value differs depending on the operation mode; the starting status is 0 = offline in the peripheral mode. this bi t is the same as the txen bit in the comr6 register. if this bit is changed from 0 to 1, software reset is automatic ally executed (the software reset is released automatically). software reset is not applied when the bit is changed from 1 to 0. 1: online state , 0: offline state ecri (bit 7) this bit stops automatic issuing of receive commands to the arcnet core. the circlink always receives; to stop receiving, set this bit to 1. moreover, this bit returns nak to the free buffer enquiry (fbe) to the bit. returning this bit from 1 to 0 sets the receive flag r egisters rxf01 to rxf31 to the (initial) value of 1. when circlink receives a token issued by itself, ecri is set. this causes a delay because setting/clearing ecri affects reception flags rxf0-rxf3. the delay is 52 ms; when the network data rate is 2.5 mbps, and scales accordingly for other rates. 1: normal stop, 0: normal operation bre (bit 6) 1: receives broadcast packet , 0: no receive txm (bit 5) 1: remote buffer sending mode , 0: free-format sending mode rto (bit 4) this bit specifies the sending count in the remote buffer sending mode 1: one-packet sending , 0: continuous auto-sending wdmd (bit 3) this bit specifies the data stru cture mode to access data register (comr4) through an 8-bit bus. when this bit is set to 1, to protect the higher and lower bytes of word data as one packet, it is necessary to perform an access to comr4 in the order of 08h to 09h (protection is unavailable in the order of 09h to 08h, 08h to 08h, and 09h to 09h). the rule is applicable for both write and read. 1: 16-bit data batch , 0: 8-bit data batch ntknrty (bit 2) setting this bit to 1 disables token re-send. (original operation of arcnet). nacknak (bit 1) setting this bit to 1 generates reconfiguration in ack/nak deformation. (original operation of arcnet). naclr (bit 0) setting this bit to 1 disables automatic clearance of re ceive flag in the readout of the last data in the free format receive mode.
peripheral mode circlink? controller datasheet smsc TMC2072 page 85 revision 0.1 (06-07-07) datasheet 3.2.19 carry register: carry sel ection for external output carry address:24h (read/write) bit name init. value description 15 ofsmod 0 offset mode 14,13 -------- -- reserved (all "0") 12-8 nstofs4-0 all "0" nst offset 7-4 nstc3-0 8h nst carry select 3-0 wartc3-0 8h wart carry select ofsmod (carry register: bit 15) 0: automatic offset (default) 1: manual offset note: do not set ofsmod bit = 1, when nstpre2 pin = low nstofs4-0 (carry register: bits 12 to 8) these bit selects an offset from 0 to 31. t he offset is ?nst resolution * nstofs4-0?. nstc3-0 (bits 7 to 4) these bits specify the generation ti ming of external pulse output, nn stcout, by means of the digit position of nst. nstc3-0 carry digit check output cycle 0000 nst[0] nst resolution * 2^1 0001 nst[1] nst resolution * 2^2 0010 nst[2] nst resolution * 2^3 : : : 1111 nst[15] nst resolution* 2^16 refer to section 2.11 - network standard time (nst) for the nst resolution. wartc3-0 (bits 3 to 0) these bits specify the warning monitoring time at remo te buffer receive by means of the digit position of timer (wt). refer to section 2.9.4 - warning timer (wt) at remote buffer receive for details of wt. wartc3-0 carry digit check period 0000 ------ illegal setting 0001 wt[1] wt resolution * 2^1 0010 wt[2] wt resolution * 2^2 : : : 1111 wt[15] wt resolution * 2^15
peripheral mode circlink? controller datasheet revision 0.1 (06-07-07) page 86 smsc TMC2072 datasheet 3.2.20 rxmh register: receive mode (higher side) rxmh address:26h (read/write) bit name init. value description 15 rxm31 0 receive mode (page #31) 14 rxm30 0 receive mode (page #30) 13 rxm29 0 receive mode (page #29) 12 rxm28 0 receive mode (page #28) 11 rxm27 0 receive mode (page #27) 10 rxm26 0 receive mode (page #26) 9 rxm25 0 receive mode (page #25) 8 rxm24 0 receive mode (page #24) 7 rxm23 0 receive mode (page #23) 6 rxm22 0 receive mode (page #22) 5 rxm21 0 receive mode (page #21) 4 rxm20 0 receive mode (page #20) 3 rxm19 0 receive mode (page #19) 2 rxm18 0 receive mode (page #18) 1 rxm17 0 receive mode (page #17) 0 rxm16 0 receive mode (page #16) rxm31-16 (bits 15 to 0) these bits specify the receive mode of page 16 to 31. the spec ification is effectiv e only in the 32-byte mode of page size. if the page size is set to 64, 128, or 256 bytes, the mode is tied to the free-format receive mode (0). 1: remote buffer receive mode 0: free-format receive mode note: if the number of nodes in the netwo rk is small, the receive mode of unused nodes (pages) should be set to the free-format receive mode (0). if the mode is set to the remote buffer mode (1) by mistake, the unused pages undergo warning timer response moni toring. (except for the self node).
peripheral mode circlink? controller datasheet smsc TMC2072 page 87 revision 0.1 (06-07-07) datasheet 3.2.21 rxml register: receive mode (lower side) rxml address:28h (read/write) bit name init. value description 15 rxm15 0 receive mode (page #15) 14 rxm14 0 receive mode (page #14) 13 rxm13 0 receive mode (page #13) 12 rxm12 0 receive mode (page #12) 11 rxm11 0 receive mode (page #11) 10 rxm10 0 receive mode (page #10) 9 rxm09 0 receive mode (page #09) 8 rxm08 0 receive mode (page #08) 7 rxm07 0 receive mode (page #07) 6 rxm06 0 receive mode (page #06) 5 rxm05 0 receive mode (page #05) 4 rxm04 0 receive mode (page #04) 3 rxm03 0 receive mode (page #03) 2 rxm02 0 receive mode (page #02) 1 rxm01 0 receive mode (page #01) 0 -------- -- reserved (?0?) rxm15-08 (bits 15 to 8) these bits specify the receive mode of page 08 to 15. the spec ification is effective only in the 32- or 64- byte mode of page size. if the page size is set to 128, or 256 bytes, the mode is tied to the free-format receive mode (0). 1: remote buffer receive mode 0: free-format receive mode rxm07-04 (bits 7 to 4) these bits specify the receive mode of page 04 to 07. the spec ification is effective only in the 32-, 64-, or 128-byte mode of page size. if the page size is set to 256-bytes, the mode is tied to the free-format receive mode (0). 1: remote buffer receive mode 0: free-format receive mode rxm03-01 (bit 3-1) these bits specify the receive mode of page 01 to 03. the specification is effective in any page sizes. 1: remote buffer receive mode 0: free-format receive mode note: if the number of nodes in the netwo rk is small, the receive mode of unused nodes (pages) should be set to the free-format receive mode (0). if the mode is set to the remote buffer receive mode (1) by mistake, the unused pages undergo warning timer response monitoring (except for the self node).
peripheral mode circlink? controller datasheet revision 0.1 (06-07-07) page 88 smsc TMC2072 datasheet 3.2.22 maxid register: se lection of max. id maxid address:2ah (read/write) bit name init. value description 15-5 -------- -- reserved (all "0") 4-0 maxid4-0 all "1" maxid maxid 4-0 (bits 4 to 0) these bits specify the max. node id. when inimode in the mode register and ndiag pin are set to 1, the value set in this register is selected as the max. node id. when inimode is set to 0, val ues in maxid 4-0 of the external input pin become readable. refer to section 1.5. 9 - maxid number setup. note: to change these bits, be sure to set txen to 0 (off-line) beforehand. if thes e bits change during the on- line state, it executes a software reset automatically. (the software re set is released automatically.) 3.2.23 nid register: sel ection of the node id nid address:2ch (read/write) bit name init. value description 15-5 -------- -- reserved (all "0") 4-0 nid4-0 all "0" my node id nid4-0 (bits 4 to 0) these bits specify the node id. when inimode of the mode register is set to 1, the value set in this register is selected as the node id. when inimode is set to 0, values in nid 4-0 of t he external input pin become readable. refer to section 1.5.10 - node id setup. note: to change these bits, be sure to set txen to 0 (off-line) beforehand. if thes e bits change during the on- line state, it executes a softwar e reset automatically (the software reset is released automatically). 3.2.24 ps register: page size selection ps address:2eh (read/write) bit name init. value description 15-2 -------- -- reserved (all "0") 1-0 ps1-0 0,0 page size ps1-0 (bits 1 to 0) these bits specify the page size. when inimode of the mode register is set to 1, the value set in this r egister is selected as the page size. when inimode is set to 0, values in ps1-0 of the external input pin become readable. refer to section 1.5.8 - page size selection.
peripheral mode circlink? controller datasheet smsc TMC2072 page 89 revision 0.1 (06-07-07) datasheet note: to change these bits, be sure to set txen to 0 (off-line) beforehand. if thes e bits change during the on- line state, it executes a softwar e reset automatically (the software reset is released automatically). 3.2.25 ckp register: comm unication rate selection ckp address: 30h (read/write) bit name init. value description 15-5 -------- -- reserved (all "0") 2-0 ckp2-0 0,0,0 clock prescaler bits 2,1,0 ckp (bits 2 to 0) these bits specify the communication ra te of the circlink. when inimode of the mode register is set to 1, the value set in this register is selected as the communication rate. when inimode is set to 0, values in ckp2-0 of the external input pin become readable. refer to sect ion 1.5.15 - prescaler setup for communication speed. note: to change these bits, be sure to set txen to 0 (off-line) beforehand. if thes e bits change during the on- line state, it executes a softwar e reset automatically (the software reset is released automatically). 3.2.26 nstdif register: nst phase difference nstdif address: 32h (read only) bit name init. value description 15 difdir 1 differential direction 14-0 nstdif14-0 all?0? nst differential difdir (nstdif register: bit 15) this bit indicates a direction of nst phase difference. this bit is not applicable for the clock master node. 0: ahead of cm node 1: behind cm node nstdif14-0 (nstdif register: bit 14-0) these bits are used to express the absolute val ue of the phase difference between a cm node and nst in 0 to 32, 768. these bits are not applic able if the node is a clock master node. supplement: if the node is a clock master node, t he nstdif register is tied to 0000h. accessing the nst register can dynamica lly provide the latest time data. si nce nst is a 16 bit value, it is necessary to read the even address side (32h) firs t when an 8-bit bus is used. when the even address side (13h) is read out, remaining 8 bits of the nst are latched internally
peripheral mode circlink? controller datasheet revision 0.1 (06-07-07) page 90 smsc TMC2072 datasheet 3.2.27 pininfo register : pin setup information pininfo address: 34h (read only) bit name init. value description *1 15 nswap -- status of nswap pin *1 14 w16 -- status of w16 pin 13 nopmd -- status of nopmd pin 12 nhubon -- status of nhubon pin 11 nehwr -- status of nehwr pin 10 nehrd -- status of nehrd pin 9 ncmibyp -- status of ncmibyp pin 8 chktstp -- status of chktstp (test pins) *1 7 nswap -- status of nswap pin *1 6 w16 -- status of w16 pin 5 ndiag -- status of ndiag pin 4 txenpol -- status of txenpol pin 3 nstpre1 -- status of nstpre1 pin 2 nstpre0 -- status of nstpre0 pin 1 wpre1 -- status of wpre1 pin 0 wpre0 -- status of wpre0 pin current status of several circlin k setup pins except for nmux, nrwm, nstalone, ndsinv, alepol, nstpre2, and wpre2 can be read. it is useful to find pin setup errors by readi ng the current status. chktstp (bit 8) becomes 1 when one of the test pins (ntest[3:0 ], ntmode) becomes low, thereby notifying the circlink being in some test mode. *1: the nswap and w16 pins used to set the cp u bus can read out bit 7 and 6 in either accesses of 16 bit, 8 bit without swap or 8 bit with swap. 3.2.28 errinfo register: error information errinfo address: 3ah (read only) bit name init. value description 15 -------- 0 reserved ("0") 14-12 rcncd2-0 0 reconfiguration error code 11-8 cmiei3-0 0 cmi rx e rror correction information code 7-5 rxec2-0 0 rx error code 4-0 resid 0 rx error sid rcncd2-0 (bits 14 to 12) these bits represent the re configuration-generati on-cause code, which is the c ause of the recon bit (bit 2) of comr0, in three bits. issuing clear flag s command to comr1 or software reset clears these bits.
peripheral mode circlink? controller datasheet smsc TMC2072 page 91 revision 0.1 (06-07-07) datasheet rcncd2-0 000 : received garbage data (noise) during the wait per iod after token sending (other than 000 to 101) 001 : received a signal other than ack duri ng the wait period after packet sending 010 : generated trailing 0 error after ack receiv e during the wait period after packet sending 011 : received a signal other than nak/ack dur ing the wait period after f.b.e sending 100 : generated trailing 0 error after ack receiv e during the wait period after f.b.e sending 101 : generated trailing 0 error after nak receiv e during the wait period after f.b.e sending 11x : undefined 001 to 101 do not generate reconfigur ation since they are saved by nak/ack counter-deformation function (nacknak = 0: default). the reconfigurat ion generation cause at na cknak = 0 is only 000. cmiei3-0 (bits 11 to 8) these bits represent the cmi receive error correction code, which is the cause of cmiecc bit (bit 14) = 1 in the intsta register in three bi ts of cmie2-0-0. in cmiei3, it i ndicates which port is the generation port. however, if hub is turned off, the status is re tained to 0. (0: port 1 side, 1: port 2 side) writing 1 to the cmiecc bit or software reset clears the setting in these bits. cmiei3 0: port 1. 1: port 2 cmiei2-0 000 : corrected error data 10 to 00 in state#11 (s11) 001 : corrected error data 11 to 01 in state#11 (s11) 010 : corrected error data 10 to 11 in state#00 (s00) 011 : corrected error data 00 to 01 in state#00 (s00) 100 : corrected error data 10 to 00 in state#01a (s01a) 101 : corrected error data 11 to 01 in state#01a (s01a) 110 : corrected error data 10 to 10 in state#01b (s01b) 111 : corrected error data 00 to 01 in state#01b (s01b) for state numbers, refer to t he state transition of the state machine in a-5 cmirx block in appendix a - cmi modem.? rxec2-0 (bits 7 to 5)
peripheral mode circlink? controller datasheet revision 0.1 (06-07-07) page 92 smsc TMC2072 datasheet these bits represent the packet receive error code, wh ich is the cause of rxerr bit (bit 15) = 1 in the intsta register in three bits. writing 1 to the rxe rr bit or software reset clears the setting. (default is 000.) rxec2-0 000 : frame error or broadcast receiving when broadcast receiving prohibition is set. (bre=0) 001 : cp error (other than cp=0: 0 is long packet and it is not sent) 010 : crc error 011 : length error (trailing 0 error) 100 : mismatch of two did (other than in broadcast and addressed to the other node) 101 : receive stop caused by cmiecc generation 110 : receive in receive-unauthorized page (only in free format mode) 111 : two or more simultaneously occur among 011, 101, and 110 resid4-0 (bits 4 to 0) these bits represent the sid value in receive packet, which causes rxerr bit (bit 15) = 1 in the intsta register, in five bits. writing 1 to rxe rr bit or software reset clears these bits.
peripheral mode circlink? controller datasheet smsc TMC2072 page 93 revision 0.1 (06-07-07) datasheet appendix a. cmi modem a-1 outline isolation by pulse transformers is widely used in this network. however, because in standard arcnet transmission the presence or abs ence of a pulse is indicated by 0 or 1, in data consisti ng of a sequence of zeros such as 0x00 a prolonged succession of no pulses re sults in magnetic satura tion of the transformer. as a countermeasure, an external circuit on t he standard arcnet is desi gned to prevent magnetic saturation (e.g. hyc4000). because su ch an external component is not av ailable in the circlink external circuit, where only a normal rs485 transceiver and pulse transformer are installed, a cmi modem circuit is built in and converts the arcnet and cmi coding. a-2 cmi code in the cmi code the same value c annot continue for more than 2 bits. the state it can take is decided, so it has a self-restoring function. in cmi coding, input data is transiti oned in 1-bit portions. bits are indica ted either as 11, 00, or 01. cmi coding is carried out by making these into cmi codi ng symbols. at decoding t he process is the exact opposite. the cmi coding state transiti on diagram is shown below. 00 01 01 11 0 0 0 0 1 1 1 1 cmi code data example: figure 10 - cmi coding state transition diagram
peripheral mode circlink? controller datasheet revision 0.1 (06-07-07) page 94 smsc TMC2072 datasheet a-3 cmi modem configuration enable ntxin ntxenin clk nreset ntxout ntxenout enable nrxin clk nreset nrxout cmitx cmirx ntxin ntxenin enable nrxin clk nreset ntxout ntxenout nrxout figure 11 - cmi modem block diagram symbol explanation ntxin ntxenin nrxin clk nreset enable input, negative-logic, arcnet controller pulse1output input, negative-logic, arcnet controller txen output input, negative-logic, line receiver reception output input, start up detection, sa me clock as arcnet controller input, negative-logic, reset signal input, positive-logic, clock division signal in synchronizer ntxout ntxenout nrxout output, negative-logic*, input to line driver data pin output, negative-logic, input to line driver txenable pin output, negative-logic, input to the arcnet controller rxin pin *: cmi code in appendix a is stated as positive logic (active high).
peripheral mode circlink? controller datasheet smsc TMC2072 page 95 revision 0.1 (06-07-07) datasheet a-4 cmitx block state machine state_reset: reset status state_txewait: wait for txenable state_txstart: wait for start of data output state_s11: data ?1? output state_s00: data ?1? output state_s01a: data ?0? output state_s01b: data ?0? output state_s12: 10 bit output with ?0 ? ending after txenable termination txstart s00 s12 s01b txewait s01a s11 reset reset data ?1? output 11 ntxenin = 0 ntxenin = 1 ntxind = 000 function outline after reset, stand by with txewait, enter txstart by ntxenin = 0 and start output of ntxenout = 0. then, enter s11 by ntxind = 000 and start output of data from cmi code symbol 11. (the arcnet message header is ntxind = 00001111). when ntxenin = 1 is detected, supplementary output of 10 bit ?0? data (symbol 01) is carried out, then terminated.
peripheral mode circlink? controller datasheet revision 0.1 (06-07-07) page 96 smsc TMC2072 datasheet a-5 cmirx block state machine state_reset: reset status state_wait10: dete ct line status 1 ? 0 state_wait01: dete ct line status 0 ? 1 state_rxstart: detect symbol 01100110, start data reception state_s11: received data ?1? symbol 11 state_s00: received data ?1? symbol 00 state_s01a: received data ?0? symbol 01 state_s01b: received data ?0? symbol 01
peripheral mode circlink? controller datasheet smsc TMC2072 page 97 revision 0.1 (06-07-07) datasheet rxstart s00 s01b wait10 s01a s11 reset wait10 wait01 function outline after waiting for symbol transition 11 ? 00 in wait10, wait for symbol transition 00 ? 11 in wait 01. then finish without receiving instable action from the network after dataflow termination. then in rxstart, start reception after detecting an alert pattern from the message header. after receiving ?0? data in s01 in 10 consecutive bits, then terminate reception and return to wait 10.
peripheral mode circlink? controller datasheet revision 0.1 (06-07-07) page 98 smsc TMC2072 datasheet a-6 details regarding reception reception data analysis reception data is sampled one bit at a time by an 8 clk analysis function, and is entered into the shiftd 32-bit shift register. normally, this is a data bit 1 proce ss in shift register bit 8. because jitter is contained in the actual reception data, synchronization is achieved. starting reception reception data is set in accordance with the arcnet controller. this is to say that various messages start with a bit ?1? sequence (alert), and that no data exists on the line prior to the first bit ?1?. because the output of the rec eption comparator in non-dataf low (non-driving period) with in a message is unstable, those changes are warded off in wait 10 and wait 01. afterwards, rec eption is started when the alert starting pattern is detected. becaus e the first bit ?1? in alert recept ion is set, the start symbol is 01100110 and 1 ? 0 is the rxstart point. 0101010101010101010111111111111111111111 1 1 1 0 0 0 000 000 0 0 0 1 1 1 10011001100110001 1101 a lert pattern rxstart period of non-driving ending ?0? wait10 wait01 figure 12 - example of unstable comparator output recovery if the symbol is 11 or 00, data is ?1 ?, and if the symbol is 01, data is ?0?. this output is sequencer output, and reflects the sequencer state. da ta length is set to a standard of 8 clk, but this can be expanded or contracted by 2 clk for synchronization purposes. error correction if symbols not occurring in the cmi transition diagr am are received, they will be read as the nearest matching symbol. for example, if sym bol 10 not present in the cmi is rece ived, it is read as either symbol 11 or symbol 00, which will trigger an error. if sym bol 11 were received immedi ately before, it will be corrected to 00, because 11 cannot be repeated in the sequence. conversely , if 00 is received immediately before, it is corrected to 11. howe ver, if a repeated sequence of 11 is received immediately after receiving symbol 11, or if a repeated sequence of 00 is received immediately after symbol 00, it is corrected to 01. ending in acrnet, a ?0? ending is attached in final bit 9 of message transmissions. the arcnet ?0? is non- dataflow 0 and has no function. however, in the cmi, this ?0? is active data, flowed as ?0? in symbol 01. due to this, the ?0? ending expected by the arcnet controller is transmitted as cmi code. however, because the cmi code bit ?0? is displayed in symbol 01, what follows the final bit ?0? retains the same state and the symbol becomes ?0111111....?. it is then read at the receiving end as bit ?010*0*...? (0* is the result of misreading 11 as a 01). this is to say that the noise immediately a fter the bit 9 ending ?0? becomes bit 1 reception. since the arcnet contro ller is immediately after recepti on termination, this noise has no effect. nevertheless, there are tw o countermeasures available.
peripheral mode circlink? controller datasheet smsc TMC2072 page 99 revision 0.1 (06-07-07) datasheet measure 1 the transmitting end transmits ?0? as a bit 10 ending. if the receiving end receives a 10-bit ?0? sequence, it ends reception and enters an alert pattern. measure 2 a restriction is set to read symbol 01111111 not as bit ?0100? but as ?0000?. this works by automatically transitioning to s11 subsequent symbols that are 0 when symbol 11 is detec ted in s01b state. however, if they remain as 1, they stay in the s01b and are read as bit ?0?. on the other hand, as a countermeasure against silent nodes like the arcnet not actively data flowing sym bol ?01? during ?0? ending, when reception data is fixed at eit her 0 or 1, they are not read as bit ?1? but as bit ?0?. due to this, measures are taken even if there is a node with temporary non-dataflow ?0? ending output. due to the highest consecutive value after a single symbol in the cm i being 3 symbols, fixed symbol 0 or 1 sequence is separated from normal cmi code and can be read as non-dataflow bit ?0?.
peripheral mode circlink? controller datasheet revision 0.1 (06-07-07) page 100 smsc TMC2072 datasheet appendix b. crystal oscillation circuit symbol value rfb 51k ohm rout 51 ohm cin 22pf cout 22pf r and c values as an example f = 10m to 40mhz (in case of fundamental oscillation) internal clock mckin internal of lsi x1 x2 v dd r fb r out c out c in note: above r, c values may not be correct for a crysta l you select. you may have to determine the correct values. if you use an overtone type crystal, follo w the manufacturer?s recommendations for connection details.
peripheral mode circlink? controller datasheet smsc TMC2072 page 101 revision 0.1 (06-07-07) datasheet appendix c. package outline figure 13- TMC2072 package outline table 7 - TMC2072 package parameters symbol items min typ max a overall package height - - 1.6 a1 standoff 0.05 - 0.15 a2 body thickness 1.35 - 1.45 d x span 15.8 - 16.2 d1 x body size 13.9 - 14.1 e y span 15.8 - 16.2 e1 y body size 13.9 - 14.1 h lead frame thickness 0.09 - 0.2 l lead foot length 0.45 0.6 0.75 l1 lead length - 1.0 - e lead pitch 0.5 basic t lead foot angle 0 - 7 w lead width 0.17 0.22 0.27 www lead position tolerance -0.04 - 0.04 r1 lead shoulder radius 0.08 - - r2 lead foot radius 0.08 - 0.2 ccc coplanarity - - 0.08 n pin count 100 notes: - controlling unit: millimeter. - package body dimensions d1 and e1 do not include the mold protrusion. maximum mold protrusion is 0.25 mm. www m d1 d n e e1 1 ze zd e w a a2 a1 ccc t h l l1 r2 r1 0.25mm
peripheral mode circlink? controller datasheet revision 0.1 (06-07-07) page 102 smsc TMC2072 datasheet appendix d. marking specifications the characters are slightly different from below. 1 TMC2072-xx weekly_code-lot_code1 lot_code2 e2
peripheral mode circlink? controller datasheet smsc TMC2072 page 103 revision 0.1 (06-07-07) datasheet appendix e. electrical characteristics maximum rated values(vss=0v) item symbol values unit power supply voltage vdd -0.3 to +5.0 v input voltage (x1 pin) -0.3 to vdd+0.3 v input voltage (except x1 pin) -0.3 to +7.0 v output voltage vout -0.3 to vdd+0.3 v input current iin 10 ma storage temperature tstg -55 to +125 o c conditions of standard function (vss=0v) item symbol value unit power supply voltage vdd 3.0 to 3.6 v operating temperature ta 0 to +70 o c input voltage (except x1 pin) *1 vin -0.3 to +5.5 v input rising/falling time *2 dt/dv 0 to 5 ns/v input clock frequency f x1 10 to 40 mhz input clock frequency tolerance df x1 100 ppm *1 : apply to 3-state output pins when hi-impedance(hi-z) state. *2 : apply to ncs,nwr,nrd,ale,rxin,rxin2,mckin pins. vin
peripheral mode circlink? controller datasheet revision 0.1 (06-07-07) page 104 smsc TMC2072 datasheet dc characterstics symbol condition min typ max unit 2.2 0.8 i ih high level input current vin = vdd -10 10 a -10 10 pull-up attached -200 10 vout = vdd -10 10 pull-up attached or vss -200 10 v h 0.5 v i oh = -4ma 2.4 i oh = -1ma vdd-0.5 4 ma buffer i ol = 4ma 0.4 f x1 = 20mhz 25 f x1 = 40mhz 40 * except x1 and x2 pins schmitt trigger hysteresis voltage output off leak current low level input current low level input voltage i dd ma v v oh * operating current (all outputs open) high level output voltage v ol * 4 ma buffer low level output voltage v v ih * i oz v il * i il a item v v vin = vss a high level input voltage
peripheral mode circlink? controller datasheet smsc TMC2072 page 105 revision 0.1 (06-07-07) datasheet ac characteristics 2 . 2v 0 . 8v 2 . 2v 0 . 8v input signal output signal 1 . 4v figure 14 - timing measurement points note: detailed ac-timing specifications are provided in another document.
peripheral mode circlink? controller datasheet revision 0.1 (06-07-07) page 106 smsc TMC2072 datasheet appendix f. circlink controller product comparative table tm c2072 tm c2074 tm c2 0 8 4 3.3v +/-0.3v 3.3v +/-0.3v 3.3v +/-0.3v 5v tolerant i/o 5v tolerant i/o 5v tolerant i/o temperature range 0 to +70c 0 to +70c 0 to +70c tqfp-100pin vtqfp-128pin tqfp-48pin 14x14x1.4mm body 14x14x1.0mm body 7x7x1.4mm body 0.5mm pitch 0.4mm pitch 0.5mm pitch max. data rate 5mbps 5mbps 5mbps hub function external 2 ports external 2 ports none transmission code cmi / rz code cmi / rz code cmi / rz code txen polarity setting pin setting pin setting active-high only nodeid, maxid, pagesize setting pin / bit setting pin / bit setti ng shared pins data rate prescaler setting pin / bit setting pin / bit setting no ne page-size 32/64/128/256 bytes 32/64/128/256 bytes 64/128 bytes max. node count 31/15/ 7/ 3 nodes 31/15/ 7/ 3 n odes 15/ 7 nodes operation mode peripheral mode only peripheral/standalone mode sta ndalone mode only internal ram size 1k bytes 1k bytes - data bus width 8/16bit 8/16bit - cpu type: nrd&nwr/dir&nds cpu type: nrd&nwr/dir&nds - bus type: mux/non-mux bus type: mux/non-mux - new flag for warrning timer none none - general poupose-i/o 8bit 8bit - in : 16 in : 0/ 8/16 out : 16 out : 32/24/16 verious setting by - pins shared pins and a packet tx trigger - 7 kinds 10 kinds receive broadcast - no yes send status - no yes anti-chatter sampling freq. - 2.44khz 1.22khz/19.1hz items * common ci r c l i n k - * peripheral mode (with cpu mode) * standalone mode (cpu less mode) power supply voltage package support cpu number of i/o port


▲Up To Search▲   

 
Price & Availability of TMC2072

All Rights Reserved © IC-ON-LINE 2003 - 2022  

[Add Bookmark] [Contact Us] [Link exchange] [Privacy policy]
Mirror Sites :  [www.datasheet.hk]   [www.maxim4u.com]  [www.ic-on-line.cn] [www.ic-on-line.com] [www.ic-on-line.net] [www.alldatasheet.com.cn] [www.gdcy.com]  [www.gdcy.net]


 . . . . .
  We use cookies to deliver the best possible web experience and assist with our advertising efforts. By continuing to use this site, you consent to the use of cookies. For more information on cookies, please take a look at our Privacy Policy. X